我正在使用VS 2012和EF 5.我有一个现有的数据库,我想从现有数据库创建POCO类 . 我按照步骤将ADO.NET实体数据模型添加到我的项目中 . 我通过向导使用现有数据库 . 然后在设计器打开的情况下创建edmx和tt文件 . 但是,我想创建POCO对象并使用它们 . Microsoft网站声明POCO实体框架生成器已过时,我应该使用DBContext Generator . 我无法弄清楚我用来生成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 Generator
它将为您的项目添加三个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)(有关详细信息,请参阅here),
然后
显然,这将完成所有工作 . 这里引用的说明是指在线模板,因为需要安装EF 5.x DbContext Fluent Generator . 如果已经安装了它,则无需在联机模板中但在已安装的模板中搜索它 .
有关详细信息,请查看this页面,"To use the DbContext Generator Template to Generate Object Layer Code"部分 .