从EF模型 - 第一个图生成类

时间:2012-08-30 20:55:37

标签: asp.net entity-framework code-generation visual-studio-2012

当我在Visual Studio 2012中创建新的ADO.NET实体数据模型时,它为我提供了一个免费的EF 5.x DbContext生成器代码生成项。换句话说,如果我在解决方案资源管理器中展开我的edmx项目,我会看到一对.tt文件,理论上应该神奇地生成包含我的POCO类和我的DbContext类的.cs文件。

我的问题是我无法说服Visual Studio实际创建类。 Model1.tt包含一个空的Model1.cs,而Model1.Context.tt包含一个DbContext对象,但它不包含DbSet<>与我的实体相关的集合。

如果我从我的解决方案中删除了两个.tt项目,然后右键单击设计器表面,选择Add Code Generation Item,并添加一个EF 5.x DbContext Generator,然后一切正常工作,我得到生成的类

我已经确认我删除的* .tt文件实际上与我添加的文件相同。

任何智慧的话语?这是一个错误,还是我错过了什么?

鲍勃

1 个答案:

答案 0 :(得分:7)

检查this。 VS2012中存在一个错误,当EDMX不在项目根目录中时会导致此行为。因此,您可以使用解决方法并手动添加模板,也可以手动触发自定义工具以强制生成代码,如链接中所述。