我正在使用 VS 2012 和 EF 5。我有一个现有数据库,我想从现有数据库创建 POCO 类。我按照步骤将 ADO.NET 实体数据模型添加到我的项目中。我通过向导使用现有数据库。然后它在设计器打开的情况下创建了 edmx 和 tt 文件。但是,我想创建 POCO 对象并使用它们。Microsoft 站点声明 POCO 实体框架生成器已过时,我应该使用 DBContext 生成器。我不知道我用来生成 POCO 类的步骤。我只看到 edmx 设计师。我真的什至不想要一个 edmx 文件,而只是 POCO 类。如何使用 EF 5 和 VS 2012 从现有数据库创建 POCO 类?
2 回答
使用EF 5.x DbContext Fluent Generator
您可以从在线模板中添加它:
- 从现有数据库生成 edmx
- 选择
Add New Item
- 搜索 POCO 的在线模板
- 添加 EF 5.x DbContext Fluent 生成器
它将向您的项目添加三个 T4 模板:
- XXX.Context.tt - 从 DbContext 继承的上下文
- XXX.Entities.tt - POCO 实体
- XXX.Mappings.tt - 每个实体的流畅映射
但是您需要手动设置 edmx 数据模型的路径。这些模板中的每一个都有行string inputFile = @"$edmxInputFile$";
。您需要在此处提供 edmx 文件的名称:
string inputFile = @"Northwind.edmx";
现在看来,执行此操作的过程非常简化。现在,EDMX 设计人员本身可以轻松完成已接受答案中的步骤。基本上,
- 通过将 ADO.NET 实体数据模型添加到项目中,从现有数据库生成模型 (edmx)(有关更多详细信息,请参见此处),
- 接着
在实体设计器中打开 .edmx 文件。
右键单击实体设计器图面上的空白区域并指向添加代码生成项。
在 Add New Item 对话框中,选择 Online Templates 并在 Search Online Templates 文本框中键入 DBContext。
为您的模板选择适当的版本(5.0,如果您想定位实体框架 5.0)。
单击确定。
显然,这将完成所有工作。此处引用的说明指的是在线模板,因为需要安装 EF 5.x DbContext Fluent Generator。如果您已经安装了它,则无需在 Online Templates 中搜索它,而是在 Installed Templates 中搜索它。
有关更多信息,您可以查看此页面,“使用 DbContext 生成器模板生成对象层代码”部分。