C# SQL Server 2008:确保已将IncludeMetadata约定添加到DbModelBuilder约定中
我得到的完全错误是: 无法检查模型兼容性,因为数据库不包含模型元数据。确保已将IncludeMetadataConvention添加到DbModelBuilder约定中 我曾在SQLServerCompact中尝试过这种方法,效果很好,但托管提供商只支持专用服务器的CE,我正在共享计划中,所以我使用SQLServer2008。数据库中我的连接字符串的格式如下:C# SQL Server 2008:确保已将IncludeMetadata约定添加到DbModelBuilder约定中,c#,asp.net-mvc-3,entity-framework,ef-code-first,C#,Asp.net Mvc 3,Entity Framework,Ef Code First,我得到的完全错误是: 无法检查模型兼容性,因为数据库不包含模型元数据。确保已将IncludeMetadataConvention添加到DbModelBuilder约定中 我曾在SQLServerCompact中尝试过这种方法,效果很好,但托管提供商只支持专用服务器的CE,我正在共享计划中,所以我使用SQLServer2008。数据库中我的连接字符串的格式如下: <connectionStrings> <add name="DBContext" co
<connectionStrings>
<add name="DBContext"
connectionString="Data Source=1.1.1.1;Initial Catalog=dbname;User Id=user;Password=pass;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
我还有一个在应用程序启动时运行的数据库初始化器。如果需要更多的代码,请告诉我?我也没有创建edmx数据模型,我首先使用EF代码
我更改了初始值设定项代码始终删除数据库,但现在我得到错误,在数据库“master”中创建数据库权限被拒绝。我不知道为什么当我告诉它要使用的初始目录时会得到这个
我现在正在将null传递给SetInitializer,但现在我得到以下错误:
无法打开登录请求的数据库“dbname”。登录失败。
用户“user”的登录失败
我仍在使用上面的connectionstring
我更改了初始值设定项代码始终删除数据库,但现在我得到
出现错误,数据库“master”中的创建数据库权限被拒绝。我
不知道为什么当我告诉它最初的目录
使用
您决不能在共享主机中执行此操作,因为您几乎没有直接创建数据库的权限。只能在托管提供商的特殊界面中创建数据库。SQL server允许您删除自己拥有的数据库,但一旦删除,您的权限将消失,并且在没有创建数据库权限的情况下无法重新创建该数据库(在共享主机中,您从未拥有此权限)
我现在正在将null传递给SetInitializer,但现在我得到以下错误:
太晚了。您的数据库已被删除。您必须通过托管提供商界面创建它,或联系您的托管提供商重新创建它
我还有一个在应用程序启动时运行的数据库初始化器
您不能在共享主机中使用任何内置数据库初始值设定项,因为它们都希望创建数据库。您可以使用将表格填充到现有数据库。当我逐步完成此操作时,我意识到您所说的一切以及发生的一切。现在,即使创建了数据库,它也不会创建我的表。这是说dbo.Movies是一个无效的对象。我在最后一段解释的代码中有DbSet Movies{get;set;}。内置数据库初始值设定项只能创建数据库和表。它们不会用表填充现有数据库,因此您的数据库仍然为空。