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

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

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

使用

您可以从联机模板添加它:

  • 从现有数据库生成edmx
  • 选择
    添加新项目
  • 在线搜索POCO模板
  • 添加EF 5.x DbContext Fluent生成器
它将向您的项目中添加三个T4模板:

  • XXX.Context.tt-从DbContext继承的上下文
  • XXX.Entities.tt-POCO Entities
  • XXX.Mappings.tt-每个实体的流畅映射
但您需要手动设置edmx数据模型的路径。每个模板都有一行
string inputFile=@“$edmxInputFile$”。您需要在此处提供edmx文件的名称:


string inputFile=@“Northwind.edmx”

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

  • 通过将ADO.NET实体数据模型添加到项目中,从现有数据库生成模型(edmx)(有关更多详细信息,请参阅)
  • 然后
在实体设计器中打开.edmx文件

在实体设计器图面上的空白区域上单击鼠标右键,并指向“添加代码生成项”

在“添加新项目”对话框中,选择联机模板并在“搜索联机模板”文本框中键入DBContext

为模板选择适当的版本(5.0,如果您希望以实体框架5.0为目标)

单击“确定”

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


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

感谢您提供的信息。我已经添加了模板,但没有生成代码。我修改了所有文件以修复$edmxInputFile$,但什么也没发生。我右键单击了它们中的每一个,然后单击了运行自定义工具。我缺少什么?@user31673实际上你不需要任何自定义工具。只需保存编辑好的模板,它就会自动生成输出文件(它会在模板的节点下)啊,还有一件事-删除上下文和用edmx文件生成的实体。您只需要图表。您知道如何从VS中删除此菜单吗?我已经添加了这个选项,现在我想删除它,因为这个菜单出现在每个MVC项目中。@Tomas你说的是什么菜单?VS2012默认生成POCO实体和DbContext。这对你不管用吗?