将.NET Framework 4.5升级到4.6.1会导致Entity Framework类中出现错误

时间:2017-04-28 08:13:45

标签: asp.net .net visual-studio entity-framework asp.net-4.6

IDE :: VS.NET 2015

版本升级:: 4.5至 4.6.1

我的asp.net解决方案里面包含30多个项目。我已将目标框架升级到4.6.1,现在我在EF类中遇到了这么多错误。现有的EF版本是6.0。

请建议如何修复EF类中出现的这些错误。我是否也应该从Nuget控制台升级EF版本。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您使用EF Designer创建了任何模型,则需要更新代码生成模板以生成与EF6兼容的代码。

  1. 删除现有的代码生成模板。这些文件通常名为.tt和.Context.tt,并嵌套在解决方案资源管理器中的edmx文件下。您可以在解决方案资源管理器中选择模板,然后按Del键删除它们。 注意:在“网站”项目中,模板不会嵌套在edmx文件下,而是在“解决方案资源管理器”中与其一起列出。 注意:在VB.NET项目中,您需要启用'显示所有文件'能够看到嵌套的模板文件。

  2. 添加适当的EF 6.x代码生成模板。在EF Designer中打开模型,右键单击设计图面并选择Add Code Generation Item ... 如果您使用的是DbContext API(推荐),那么EF 6.x DbContext Generator将在Data选项卡下可用。 注意:如果您使用的是Visual Studio 2012,则需要安装EF 6 Tools才能使用此模板。有关详细信息,请参阅Get Entity Framework。 如果您使用的是ObjectContext API,则需要选择Online选项卡并搜索EF 6.x EntityObject Generator。

  3. 如果您将任何自定义应用于代码生成模板,则需要将其重新应用于更新的模板。