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

7

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

现在我正在尝试通过打开EF Designer中的模型,在设计表面上右键单击并选择 Add Code Generation Item来添加EF 6.x代码生成模板。

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

但我无法在VS 2015中安装它。如何解决这个问题?


1
嗨,Mahesh,你能解决这个问题吗?如果可以的话,请分享一下。 - Justin Samuel
2个回答

4
对于像我这样不再安装VS2013的可怜人,有一个更简单的选择。您只需安装VS2015的EF 6.x EntityObject Generator for C#

当然,VSIX会向您喊出它不是针对2015版本的。请忽略它 :)

它不被支持或标榜为“与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?),保存,压缩成 .zip 文件,将扩展名改为 .vsix 并尝试安装。
对我来说在 VS2015 上工作良好,没有任何问题地安装了 EntityObject T4 模板,并从 EDMX 生成了代码。

1
如果你正在尝试在VS2017中使用此解决方法(版本号为15),它会安装但不会正常工作,至少对我来说是这样的。 - Ivan Golović
有人尝试在VS 2019或者惊讶... VS 2022上使用过吗?... Bueller?.. Bueller? - bkwdesign

1

由于Visual Studio 2015不支持EntityObject生成器模板,因此替代方案是使用Visual Studio 2013打开您的解决方案,然后打开edmx图,右键单击选择“添加代码生成项”,您将看到“EF 6.X EntityObject Generator”,如果您无法看到,请转到“在线”菜单,您将看到“EF 6.x EntityObject Generator For C#”显示。选择EntityObject生成器并单击“添加”按钮将其添加到您的数据访问层项目中。tt将自动生成EntityObject类。保存项目,退出Visual Studio 2013,然后使用Visual Studio 2015重新打开解决方案即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接