c# - 从 Entity Framework 5 升级到 6

标签 c# entity-framework entity-framework-5 entity-framework-6 ef-database-first

在将我们的项目从使用 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/

相关文章:

c# - 当async block并发数大于1时,抛出异常怎么办?

c# - 在 .net/sql 服务器中处理 bc 日期的最佳方法是什么?

ASP.NET 4 SQL 方法?

.net - 将 EF6 连接到 Oracle 11g DB 时不会显示数据源名称

c# - 构造 linq 查询

c# - 在 Android 上的 Unity 中从 C++ DLL 访问 StreamingAssets 资源

c# - 如何在用户打开文件时锁定对文件的访问?

c# - Entity Framework 代码优先 : Set unique key constraint is not working

entity-framework - 我可以将枚举作为字符串存储在EF 5中吗?

asp.net-mvc-4 - Entity Framework 代码优先多对多关系和继承