我将范围缩小到“代码优先”和“数据库优先” EF之间的某个问题,但是我不确定如何解决它。我会尽量保持清楚,但老实说我本人在这里缺少一些了解。这是实体框架4.4
我继承了一个使用Entity Framework的项目,但是删除了许多实际文件,没有任何实际方法可以返回。我重新添加了EF(首先是数据库),并复制了围绕该项目构建的T4设置。它生成了所有数据库模型的代码版本和一个DBContext代码文件。
如果我的连接字符串看起来像是“正常” .NET连接字符串,则会收到有关无效列的错误消息,名称“ ProcessState_ID”不存在。ProcessState_ID根本不在代码库中,也不在EDMX文件或任何其他文件中。这似乎是查询中的某些自动EF转换。
当我使连接字符串与实体框架模型匹配时,它可以正常工作。
现在,在尝试将前面的代码与Entity Framework匹配时,我想保留“普通” .NET连接字符串。
因此,我在这里有两个问题:1.从代码中的正常连接字符串转换为EF连接字符串的最佳方法是什么?2.这里有没有我想停止无效列名错误的其他修复程序?
public virtual Person Person { get; }