在将我们的项目从使用 Entity Framework 5 升级到 Entity Framework 6 之后(通过 NuGets 更新功能),我在生成的 Entities 类中收到以下错误:
Error 1 The type or namespace name 'Objects' does not exist in the namespace 'System.Data'
(are you missing an assembly reference?)
我知道这是因为命名空间已更改,我可以通过更改我的导入来手动修复错误:
使用 System.Data.Objects;
和 使用 System.Data.Objects.DataClasses;
至:
使用 System.Data.Entity.Core.Objects;
但是文件已生成,因此我需要在每次从数据库更新模型
后重新应用此修复程序。
是否有一些额外的更改以使 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
.
关于c# - 从 Entity Framework 5 升级到 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896856/