实体框架不返回数据

时间:2017-01-16 10:06:08

标签: entity-framework

我正在使用EntityFramework 6.1.3。我已从现有数据库生成模型。现在,在尝试查询数据库时,datacontext返回null。数据库似乎是空的。

但是数据库不是空的,因为我可以使用LINQPad连接和查询它。当谷歌搜索问题时,我遇到了类似的情况。在这种情况下,EF在本地服务器上生成了一个空数据库,解决方案是调整连接字符串,尽管没有明确的细节应该更改的内容。

但是,我不确定在我的情况下是否属于这种情况。

  1. 我的连接字符串指向远程服务器。
  2. 由于我们没有授权,因此无法在远程服务器上创建数据库。
  3. 我的本地计算机上没有创建数据库,因为我甚至没有安装本地sql server。我的AppData文件夹是空的。
  4. 有什么建议吗? 生成的连接字符串

         <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=&quot;data source=xxxxxx;initial catalog=MASTER_DEV;user id=xxxxx;password=xxxxxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    

2 个答案:

答案 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