Привет Сущности Гуру Структур !!
Я следовал официальному руководству и начал с ним небольшой проект. Я начал использовать SQL Server Compact Edition и решил изменить его на базу данных SQL Server Express.
После изменения моей строки подключения
<add name="SchoolContext" connectionString="Data Source=|DataDirectory|Registration.sdf" providerName="System.Data.SqlServerCe.4.0"/>
<!-- <add name="SchoolContext" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True;Initial Catalog=SchoolRegistration;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>-->
он начал выдавать эту ошибку:
Совместимость модели не может быть проверена, поскольку база данных не содержит метаданных модели. Убедитесь, что IncludeMetadataConvention
был добавлен в соглашения DbModelBuilder.
Что я не понимаю, так это то, что у меня есть инициализатор, который реализует DropCreateDatabaseIfModelChanges
public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContext>
и добавил инициализатор к Global.asax.cs
application_start()
Database.SetInitializer<SchoolContext>(new SchoolInitializer());
Таким образом, после моей ошибки я удалил файл SQL Server Compact .sdf
и переключился обратно на строку подключения и все изменения и все приспособления, которые были в нем помещены.
Почему бы не SQL Server Express?
Что-то мне не хватает? Или я должен был создать другой контекст для новой строки подключения и изменить мой инициализатор? Спасибо за чтение этого