在VS 2010和EF 4.4中,当在Entity Framework中使用DBContext生成器时,便能够移动和编辑.tt文件,这样POCO可以位于与DBContext文件不同的项目中。
有关我在说什么的示例,请参见Here和Here。
在VS2012 / EF5中,这似乎是不可能的。 POCO类在EDMX文件下作为子项目生成。无法从Visual Studio中复制文件。从资源管理器移动文件无济于事,因为在编译时会重新创建您移动的文件。
我在这里缺少基本的东西吗?
我没有在EF5中使用任何代码生成项(而我在EF4.x中使用过)。这有什么区别吗?
最佳答案
在Visual Studio 2012中,当您添加ADO.NET实体数据模型(* .edmx)时,它包括用于上下文和模型类的T4模板,作为EDMX文件的子项。例如,如果添加MyModel.edmx,它将具有4个子项,如下所示:
MyModel.tt生成POCO实体作为子项。要在单独的项目中生成实体,请执行以下步骤:
const string inputFile = @"MyModel.edmx"; // old value (remove)
const string inputFile = @"..\MyOtherProjectName\MyModel.edmx"; // new value
而已。你完成了。现在,您将模型和上下文放在一个项目中,将实体放在另一个项目中。
关于entity-framework - 不同项目中的Entity Framework 5和Visual Studio 2012 POCO类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375090/