我正在使用EntityFramework 6.1.3。我已从现有数据库生成模型。现在,在尝试查询数据库时,datacontext返回null。数据库似乎是空的。
但是数据库不是空的,因为我可以使用LINQPad连接和查询它。当谷歌搜索问题时,我遇到了类似的情况。在这种情况下,EF在本地服务器上生成了一个空数据库,解决方案是调整连接字符串,尽管没有明确的细节应该更改的内容。
但是,我不确定在我的情况下是否属于这种情况。
有什么建议吗? 生成的连接字符串
<add name="MAST_DEV" connectionString="metadata=res://*/Models.Mast_DevModel.csdl|res://*/Models.Mast_DevModel.ssdl|res://*/Models.Mast_DevModel.msl;provider=System.Data.SqlClient;provider connection string="data source=xxxxxx;initial catalog=MASTER_DEV;user id=xxxxx;password=xxxxxx;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
答案 0 :(得分:1)
我真的不知道自己做错了什么。我从头开始创建了简单的项目,再次生成模型,现在它确实工作正常。可能,之前我从数据库中首先选择了“代码”&#39;来自实体数据模型向导。而这次来自数据库的EF Designer&#39;。无论如何,谢谢你试图帮助。这是我的错误
答案 1 :(得分:0)
这是我问题的确切解决方案(答案是从这里复制Entity Framework cant use the DbContext, model being created)
“我看到你正在使用EDMX和模板(.tt)来生成类。但是如果你从现有数据库获取信息,向导将创建一个与ObjectContext兼容的ConnectionString(元数据信息和entityframework的提供者) )。
问题是您使用的连接字符串是ObjectContext(数据库优先和模型优先)。对于DbContext,您应该使用没有元数据信息“
的connectionstring