这始于一个EDMX突然不生成类文件的问题。.context.cs文件包含了类声明,例如:
public virtual DbSet<myTable> myTable { get; set; }
但实际的类文件没有生成。两个.tt文件都在那里,“运行自定义工具”也没有帮助。
在调试Model.tt T4模板时,出现了这个声明:
public StringBuilder GenerationEnvironment { get { return (StringBuilder)_generationEnvironment.GetValue(_instance, null); } }
生成
"System.NullReferenceException: '对象引用未设置为对象的实例。'"
_generationEnvironment变量为空。
为了确保数据库更改不会触发此问题,我重新创建了模型,只包括一个未被修改的表,但没有改善。
不幸的是,我没有将其迁移到Code-First和Core的奢侈条件,所以非常感谢任何建议。