15

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

4

2 回答 2

14

使用EF 5.x DbContext Fluent Generator

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

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

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

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

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

string inputFile = @"Northwind.edmx";

于 2012-11-10T23:49:35.100 回答
9

现在看来,执行此操作的过程非常简化。现在,EDMX 设计人员本身可以轻松完成已接受答案中的步骤。基本上,

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

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

右键单击实体设计器图面上的空白区域并指向添加代码生成项。

在 Add New Item 对话框中,选择 Online Templates 并在 Search Online Templates 文本框中键入 DBContext。

为您的模板选择适当的版本(5.0,如果您想定位实体框架 5.0)。

单击确定。

显然,这将完成所有工作。此处引用的说明指的是在线模板,因为需要安装 EF 5.x DbContext Fluent Generator。如果您已经安装了它,则无需在 Online Templates 中搜索它,而是在 Installed Templates 中搜索它。

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

于 2013-01-10T16:00:59.377 回答