从EF模型优先图生成类

4
当我在Visual Studio 2012中创建一个新的ADO.NET Entity Data Model时,它会给我提供一个免费的EF5.x DbContext代码生成项。换句话说,如果我在解决方案资源管理器中展开我的edmx项,我会看到一对.tt文件,理论上应该自动生成包含我的POCO类和DbContext类的.cs文件。
我的问题是我无法说服Visual Studio实际创建这些类。Model1.tt包含一个空的Model1.cs,而Model1.Context.tt包含一个DbContext对象,但它不包含与我的实体相关的DbSet<>集合。
如果我从我的解决方案中删除这两个.tt文件,然后右键单击设计器表面,选择添加代码生成项,并添加一个EF5.x DbContext生成器,则一切都按照预期工作,我得到了生成的类。
我已经验证了我删除的*.tt文件与我重新添加的文件是完全相同的。
有什么建议吗?这是一个错误吗,还是我遗漏了什么?
Bob

你的EDMX文件在项目根目录中吗? - Ladislav Mrnka
不,我的EDMX文件在Models文件夹下。 - Bob.at.Indigo.Health
1个回答

7

请查看此处。在VS2012中,当EDMX不在项目根目录中时会出现此行为的错误。所以你可以使用你的解决方法并手动添加模板,或者必须手动触发自定义工具来强制执行代码生成,如链接描述。


记得投票支持修复:http://entityframework.codeplex.com/workitem/453 - 我知道我有点晚 ;) - profMamba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接