首页 文章

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

提问于
浏览
15

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

2 回答

  • 9

    使用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";

  • 14

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

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

    • 然后

    在实体设计器中打开.edmx文件 . 右键单击“实体设计器”表面上的空白区域,然后指向“添加代码生成项” . 在“添加新项”对话框中,选择“联机模板”,然后在“搜索联机模板”文本框中键入DBContext . 为模板选择适当的版本(5.0,如果要定位Entity Framework 5.0) . 单击确定 .

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

    有关详细信息,请查看this页面,"To use the DbContext Generator Template to Generate Object Layer Code"部分 .

相关问题