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

时间:2012-11-10 23:46:07

标签: 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类?

2 个答案:

答案 0 :(得分: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";

答案 1 :(得分:9)

现在看来,这样做的过程非常精简。从EDMX设计师本身可以轻松完成接受答案的步骤。基本上,

  • 通过向项目添加ADO.NET实体数据模型,从现有数据库生成模型(edmx)(有关详细信息,请参阅here),
  • 然后
  

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

     

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

     

在“添加新项”对话框中,选择“在线模板”,然后在“搜索在线模板”文本框中键入DBContext。

     

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

     

单击“确定”。

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

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