将我们的项目从使用Entity Framework 5升级到Entity Framework 6(通过NuGets更新功能)后,我在生成的Entities类上收到以下错误:
错误1类型或名称空间名称'对象'在名称空间'System.Data'中不存在
(您是否缺少程序集引用?)
我明白,这是因为命名空间已经改变了,我可以通过更改我的进口手工修复错误:using System.Data.Objects;
和using System.Data.Objects.DataClasses;
至:using System.Data.Entity.Core.Objects;
但是该文件已生成,因此我需要在每次之后重新应用此修复程序Update model from Database
。是否需要进行其他更改才能使EF生成没有此错误的模型。
我认为您的问题是,生成实体和上下文的T4模板仍在EF版本5中。
首先,你必须删除当前的代码生成项目,这是在型号后面的代码,即<Modelname>.Context.tt
和<Modelname>.tt
。接下来添加一个新的EF版本6码发生器Right click in the model designer-> Add Code Generation Item ... -> EF 6.x DbContext Generator
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句