将 .NET Framework 4.5 升级到 4.6.1 会导致 Entity Framework 类 中出现错误
Upgrading .NET Framework 4.5 to 4.6.1 causes errors in Entity Framework classes
IDE::VS.NET2015
版本升级 :: 4.5 至 4.6.1
我的asp.net解决方案里面包含了30多个项目。我已将目标框架升级到 4.6.1,现在我在 EF 类 中收到大量错误。现有的 EF 版本是 6.0.
请建议如何修复从 EF 类 中出现的这些错误。我是否也应该从 Nuget 控制台升级 EF 版本。
如果您有任何使用 EF 设计器创建的模型,您将需要更新代码生成模板以生成 EF6 兼容代码。
删除现有的代码生成模板。这些文件通常命名为 .tt 和 .Context.tt,并嵌套在解决方案资源管理器中的 edmx 文件下。您可以 select 解决方案资源管理器中的模板,然后按 Del 键将其删除。
注意:在网站项目中,模板不会嵌套在您的 edmx 文件下,而是与它一起列在解决方案资源管理器中。
注意:在 VB.NET 项目中,您需要启用 'Show All Files' 才能看到嵌套的模板文件。
添加适当的 EF 6.x 代码生成模板。在 EF 设计器中打开您的模型,右键单击设计图面并 select 添加代码生成项...
如果您使用的是 DbContext API(推荐),则 EF 6.x DbContext 生成器将在“数据”选项卡下可用。
注意:如果您使用的是 Visual Studio 2012,则需要安装 EF 6 工具才能使用此模板。有关详细信息,请参阅获取 Entity Framework。
如果您使用的是 ObjectContext API,那么您将需要 select 在线选项卡并搜索 EF 6.x EntityObject Generator。
如果您将任何自定义应用到代码生成模板,您将需要将它们重新应用到更新的模板。
IDE::VS.NET2015
版本升级 :: 4.5 至 4.6.1
我的asp.net解决方案里面包含了30多个项目。我已将目标框架升级到 4.6.1,现在我在 EF 类 中收到大量错误。现有的 EF 版本是 6.0.
请建议如何修复从 EF 类 中出现的这些错误。我是否也应该从 Nuget 控制台升级 EF 版本。
如果您有任何使用 EF 设计器创建的模型,您将需要更新代码生成模板以生成 EF6 兼容代码。
删除现有的代码生成模板。这些文件通常命名为 .tt 和 .Context.tt,并嵌套在解决方案资源管理器中的 edmx 文件下。您可以 select 解决方案资源管理器中的模板,然后按 Del 键将其删除。 注意:在网站项目中,模板不会嵌套在您的 edmx 文件下,而是与它一起列在解决方案资源管理器中。 注意:在 VB.NET 项目中,您需要启用 'Show All Files' 才能看到嵌套的模板文件。
添加适当的 EF 6.x 代码生成模板。在 EF 设计器中打开您的模型,右键单击设计图面并 select 添加代码生成项... 如果您使用的是 DbContext API(推荐),则 EF 6.x DbContext 生成器将在“数据”选项卡下可用。 注意:如果您使用的是 Visual Studio 2012,则需要安装 EF 6 工具才能使用此模板。有关详细信息,请参阅获取 Entity Framework。 如果您使用的是 ObjectContext API,那么您将需要 select 在线选项卡并搜索 EF 6.x EntityObject Generator。
如果您将任何自定义应用到代码生成模板,您将需要将它们重新应用到更新的模板。