如何在 Visual Studio 2015 中添加 EntityObject 生成器?

How to add EntityObject Generator in Visual Studio 2015?

我已经在 VS2015 中安装了最新的 Entity Framework 版本 (EntityFramework.6.1.3)。我在项目中添加了 EF 并删除了 2 个 .tt 文件(edmx_file_name.ttedmx_file_name.Context.tt)来自 DBContext。

现在我尝试添加 EF 6.x 代码生成模板,方法是在 EF 设计器中打开模型,右键单击设计图面并 select 添加代码生成物品.

要在 ObjectContext 中添加代码生成,我需要安装 EF 6.x EntityObject 生成器。我从 here 下载了它。

但是我无法在 VS 2015 中安装它。

我该如何解决这个问题?

到目前为止,Visual Studio 2015 不支持 EntityObject 生成器模板,更改解决方案是,使用 Visual Studio 2013 打开您的解决方案,然后打开您的 edmx 图,右键单击,select "Add Code generation Item",你会看到"EF 6.X EntityObject Generator",如果看不到,去"online"菜单,你会看到"EF 6.x EntityObject Generator For C#"显示。 Select EntityObject 生成器并单击 "Add" 按钮将其添加到您的数据访问层项目中。 tt 将为您自动生成 EntityObject 类。保存项目,退出 visual studio 2013。用 visual studio 2015 重新打开解决方案。完成。

好吧,对于所有像我这样不再安装 VS2013 的可怜人来说,还有更简单的选择。您可以只安装 the EF 6.x EntityObject Generator for C# for VS2015。

当然,VSIX 会告诉你它不适用于 2015 年。Just ignore it :)

它不受支持或宣传为 "compatible with VS2015" 的事实并不意味着它不起作用。它是一组 T4 模板。从那时起,它们的语法或功能没有太大变化。

从市场下载 VSIX,将其保存在某处,解压缩(这只是一个 ZIP 存档),然后编辑名为:extension.vsixmanifest 的文件。在里面你会发现这样的块:

<SupportedProducts>
  <VisualStudio Version="10.0">
    <Edition>VCSExpress</Edition>
    <Edition>VWDExpress</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="11.0">
    <Edition>VCSExpress</Edition>
    <Edition>VWDExpress</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="12.0">
    <Edition>VCSExpress</Edition>
    <Edition>VWDExpress</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
</SupportedProducts>

复制、粘贴,为 Version="13.0" 添加一个块,也许还可以(14.0=VS2017?),保存,将其压缩回来,将扩展名更改为 .vsix 并尝试安装。

在 VS2015 上为我工作,安装没有问题,添加了 EntityObject T4 模板,并按预期从 EDMX 生成了代码。