在 Visual Studio 2012 中,当您添加 ADO.NET 实体数据模型 (*.edmx) 时,它包含上下文和模型类的 T4 模板作为 EDMX 文件的子项。例如,如果添加 MyModel.edmx,它将有 4 个子项,如下所示:
- MyModel.Context.tt
- MyModel.Designer.cs(在 C# 项目中)
- MyModel.edmx.diagram
- 我的模型.tt
MyModel.tt 将 POCO 实体生成为子项。要在单独的项目中生成实体,请执行以下步骤:
- 创建一个单独的类项目。
- 添加新项目,选择“EF 5.x DbContext Generator”模板。这将创建 *.tt 文件。例如 MyModel.tt。
编辑模板文件如下:
const string inputFile = @"MyModel.edmx"; // old value (remove)
const string inputFile = @"..\MyOtherProjectName\MyModel.edmx"; // new value
- 在您的其他项目中,展开 EDMX 文件并右键单击 MyModel.tt,选择删除。
就是这样。你完成了。您现在将模型和上下文放在一个项目中,将实体放在单独的项目中。