使用sqlexpress
<add name="SchoolContext"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=CatomMvc;Integrated Security=True"
providerName="System.Data.SqlClient" />
我收到错误
无法检查模型兼容性,因为数据库没有 包含模型元数据。确保IncludeMetadataConvention已经存在 添加到DbModelBuilder约定。
当我改为
时<add name="SchoolContext" connectionString="Data Source=|DataDirectory|School.sdf" providerName="System.Data.SqlServerCe.4.0"/>
它的工作原理但是我想使用sqlexpress或sql 2008来提供相同的错误。
答案 0 :(得分:7)
CatomMvc
中可能已存在数据库.\sqlexpress
。
尝试将数据库重命名为Catomvc_backup
或删除数据库,然后重试。
答案 1 :(得分:5)
或者,您可以在Application_Start()
中使用以下内容:
Database.SetInitializer(new DropCreateDatabaseAlways<YourContext>());
这将强制重新创建数据库,但通常在开发期间,您应该只使用:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>());
允许根据模型的更改重新创建数据库。
但是,这些都不应该成为您的生产代码!
答案 2 :(得分:0)
请确保您的Database.SetInitializer
功能位于Application_Start
功能的顶部。
诀窍是:)
答案 3 :(得分:0)
有时会发生这种情况,因为您在本地SQL Server实例上没有sysadmin角色。我找到了有用的文章,你可以下载脚本命令并安装它。您将要求输入SQLEXPRESS名称或实例名称,只需编写“SQLEXPRESS”并输入即可。而已。它会将您添加到本地服务器实例的sysadmin角色。
下载命令如果它不适合你,请告诉我。