在Visual Studio 2013中将代码生成策略设置为“默认”

5

在创建ADO.net实体模型类时,如何将代码生成策略更改为“默认”?当生成.edmx文件时,它包含.tt文件。我删除了那些文件并希望使用默认的代码生成策略重新生成。我能够在Visual Studio 2012中做到这一点,但在Visual Studio 2013中无法再次执行此操作。代码生成策略设置为T4,我无法重新生成文件。有什么帮助吗?


你找到解答了吗?我也有同样的问题。如果你找到了,请分享一下。 - Sara Nikta Yousefi
@sara 我认为目前还不支持。我仍在使用2012年的版本。同时也转向了其他项目。如果有解决方案,您可以点赞此问题,以便其他人回答。 - sanmis
2个回答

2

我正在使用asp.net webform,所以我不确定我的答案是否对您有帮助...但这是我的解决方案:

1.删除最后一个edmx文件。

2.删除最后一个连接字符串。

3.再次添加ado.net实体模型,并像之前一样设置选项。

4.不要删除.tt文件,也不要尝试更改代码生成策略。

5.重新构建解决方案。

6.我相信现在您会看到很多关于AddObjectDeleteObject的错误...只需将这两个更改为Add和Remove(请注意,对于deleteObject,您可能不必在之前写表名,但对于remove,您应该这样做)。

例如:db.News.AddObject(N);更改为db.News.Add(N);db.News.DeleteObject(N);更改为db.News.Remove(N);db.DeleteObject(N);更改为db.News.Remove(N);


0

我在将代码生成策略更改为“默认”时,在Visual Studio 2013中遇到了问题。经过四五个小时的研究,我找到了解决方案。

  1. 如您在问题中所述,从edmx中删除两个.tt文件。

enter image description here

  1. 打开edmx设计师,在空白表面上右键单击,从上下文菜单中选择属性。

enter image description here

  • 正如您所见,没有下拉列表选择来选择代码生成策略。默认情况下,T4被选中并且也被禁用了。供您参考,T4是Visual Studio 2012的“无”选项的替代品,而Legacy ObjectContext是Visual Studio 2012的“默认”选项的替代品。 现在要将T4设置为Legacy ObjectContext,请右键单击“Code Generation Strategy”选项。您将在上下文菜单中看到“重置”选项,请单击它。
  • enter image description here

    遗留的ObjectContext现在已经设置

    enter image description here

    1. 设置还没有完成。您必须添加两个引用才能完全工作。
      • System.Data.Entity
      • System.Data.Entity.Design

    要添加这两个引用,请右键单击“引用”文件夹,然后单击“添加引用”。现在在搜索框中输入“System.Data.Entity”,您将在列表中看到这两个引用。选择这些引用,然后单击“确定”按钮。

    enter image description here

    希望这对每个人都有效,谢谢。

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