Ros*_*lle 40 c# entity-framework ef-database-first entity-framework-5 entity-framework-6
在将项目从使用Entity Framework 5升级到Entity Framework 6之后(虽然NuGets更新功能)我在生成的Entities类上收到以下错误:
错误1命名空间"System.Data"中不存在类型或命名空间名称"Objects"
(您是否缺少程序集引用?)
我知道这是因为命名空间已经改变,我可以通过更改我的导入来手动修复错误:
using System.Data.Objects;
和using System.Data.Objects.DataClasses;
To:
using System.Data.Entity.Core.Objects;
但是生成文件所以我需要在每次之后重新应用此修复程序Update model from Database
.有没有额外的东西可以让EF生成没有这个错误的模型.
boi*_*iil 62
我认为您的问题是,生成权利和上下文的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
.
Con*_*ngo 37
这是我如何成功将Entity Framework v5升级到v6的经验:
缩略语:
清单:
using System.Data.EntityClient;
,这是EF5参考.using System.Data.Entity.Core.EntityClient;
适用于EF6的C#行.仍然卡住?这个清单是一个社区维基,随时可以编辑这个清单,以帮助其他倒霉的灵魂,他们还在敲打可能是EF6配置的砖墙.
在考虑EF之前,请先了解其他选择.它比其他选项慢100倍,它提供的内容非常复杂,实体GUI充满了错误并且具有奇怪的可用性问题,我们将不得不撕掉所有的EF6代码并将其替换为需要的东西.在Dapper中进行5秒钟的查询不到5分钟.