实体框架5 - 如何从现有数据库生成POCO类

use*_*673 15 entity-framework poco entity-framework-5

我正在使用VS 2012和EF 5.我有一个现有的数据库,我想从现有数据库创建POCO类.我按照步骤将ADO.NET实体数据模型添加到我的项目中.我通过向导使用现有数据库.然后在设计器打开的情况下创建edmx和tt文件.但是,我想创建POCO对象并使用它们.Microsoft网站声明POCO实体框架生成器已过时,我应该使用DBContext Generator.我无法弄清楚我用来生成POCO类的步骤.我只看到edmx设计师.我甚至不想要一个edmx文件,而只需要POCO类.如何使用EF 5和VS 2012从现有数据库中创建POCO类?

Ser*_*kiy 14

使用EF 5.x DbContext Fluent Generator

您可以从在线模板添加它:

  • 从现有数据库生成edmx
  • 选择 Add New Item
  • 搜索POCO的在线模板
  • 添加EF 5.x DbContext Fluent Generator

它将为您的项目添加三个T4模板:

  • XXX.Context.tt - 从DbContext继承的上下文
  • XXX.Entities.tt - POCO实体
  • XXX.Mappings.tt - 每个实体的流畅映射

但是您需要手动设置edmx数据模型的路径.每个模板都有一行string inputFile = @"$edmxInputFile$";.您需要在此处提供edmx文件的名称:

string inputFile = @"Northwind.edmx";


Ale*_*jak 9

看来,实现这一目标的过程非常精简.从EDMX设计师本身可以轻松完成接受答案的步骤.基本上,

  • 通过将ADO.NET实体数据模型添加到项目中,从现有数据库生成模型(edmx)(有关详细信息,请参见此处),
  • 然后

在实体设计器中打开.edmx文件.

右键单击"实体设计器"表面上的空白区域,然后指向"添加代码生成项".

在"添加新项"对话框中,选择"联机模板",然后在"搜索联机模板"文本框中键入DBContext.

为模板选择适当的版本(5.0,如果要定位Entity Framework 5.0).

单击确定.

显然,这将完成所有工作.这里引用的说明是指在线模板,因为需要安装EF 5.x DbContext Fluent Generator.如果已经安装了它,则无需在联机模板中但在已安装的模板中搜索它.

有关详细信息,请查看页面的"使用DbContext生成器模板生成对象层代码"部分.