目录
症状
- 在Visual Studio 2022版本17.6.2中,Entity Framework 6(经典)已损坏,无法以“数据库优先”方法添加新的数据库表。
- 出现生成错误:
Running transformation: System.NullReferenceException:
Object reference not set to an instance of an object.
原因
似乎是Visual Studio 2022版本17.6.2中的一个错误。
手动修复
我尝试了Chirag Prajapati的[1]中的步骤,它们奏效了:
====================================
Start Notepad in administrator mode, and open the file
(substituting Community for Professional or Enterprise depending on your version):
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\
Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude
Update the following code in DynamicTextTransformation (approx line 1920) and change:
_generationEnvironment = type.GetProperty("GenerationEnvironment",
BindingFlags.Instance | BindingFlags.NonPublic);
to
_generationEnvironment = type.GetProperty("GenerationEnvironment",
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
=================================================
结论
当该错误修复时,会请有人发帖吗?
参考
https://www.codeproject.com/Tips/5362208/VS2022-ver-17-6-2-EntityFramework6-Broken