Cle*_*man 21 entity-framework visual-studio-2012
在VS 2010和EF 4.4中,您可以在Entity Framework中使用DBContext生成器时移动和编辑.tt文件,以便您的POCO对象位于与DBContext文件不同的项目中.
在VS2012/EF5中,这似乎是不可能的.POCO类是作为EDMX文件下的子项生成的.无法从Visual Studio中复制文件.从资源管理器中移动文件没有帮助,因为您移动的文件会在编译时重新创建.
我错过了一些基本的东西吗?
我没有使用EF5的任何代码生成项目(而我使用的是EF4.x.)这可能是区别吗?
Phi*_*ppe 64
在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
Run Code Online (Sandbox Code Playgroud)而已.你完成了.现在,您在一个项目中拥有模型和上下文,在单独项目中拥有实体.
查看以下帖子:Visual Studio 2012 - 无法移动EF .tt文件
它说明了如何将.tt文件的依赖项信息删除到已声明的.csproj文件中的.edmx文件.这将允许您从解决方案资源管理器中拖动.tt文件.
只需确保在.tt文件的开头更新文件路径以指向.edmx,如上一个答案所述,如下所示:
const string inputFile = @"..\EFTest\EFTestModel.edmx";
Run Code Online (Sandbox Code Playgroud)
有实际的几个部分和步骤,并且缺少任何一个可以防止POCO类的分离正常工作.我创建了一篇博文,详细介绍了您可以在下面查看的整个过程:
在VS.NET 2012中分离从T4模板生成的实体框架POCO类:http :
//allen-conway-dotnet.blogspot.com/2013/01/separating-entity-framework-poco.html
| 归档时间: |
|
| 查看次数: |
24489 次 |
| 最近记录: |