实体框架-仅edmx,无模板

时间:2019-03-21 20:05:52

标签: c# .net entity-framework-6

我们只想添加.EDMX文件,而没有为上下文和实体添加相应的.tt文件。造成这种情况的原因有很多,但总的来说很短-我们希望能够拥有.EDMX,并能够在需要时从数据库刷新它。

当前,如果每次“从数据库更新”时都删除.tt文件,它将重新生成我们不需要的.tt文件和实体。

3 个答案:

答案 0 :(得分:1)

如果只有.edmx和两个空的.tt文件就足够了,您可以这样做:

  1. 添加实体数据模型(数据库中的EF Designer)
  2. 取消工具的初始执行
  3. 每个Custom Tool文件和.tt文件上的空.edmx
  4. 如果需要,删除.tt文件的内容
  5. 删除.diagram文件

完成此步骤后,您可以更新.edmx文件,什么也没发生。

Custom Tool empty Final solution

答案 1 :(得分:0)

我不确定我是否完全理解,但是我只是删除了模型随附的一对t4 / tt文件和先前生成的类文件。他们不会再使用EF6。

enter image description here

然后我删除它们,并从数据库中更新模型:

enter image description here

他们不会回来:

they don't come back

这来自EF 6.2: enter image description here

确定要处理一些源代码管理问题吗?

答案 2 :(得分:0)

您可以尝试一下。

  1. 删除.tt文件下的.edmx个文件。
  2. 项目->添加->新项目-> EF 6.x DbContext Generator
  3. 它将生成新的.tt文件。在这些.tt文件中,您可以指定.edmx文件路径。 enter image description here

  4. 运行这些.tt文件以生成Model1类。

  5. 禁用.tt文件(不要删除内容,因为以后要更新实体时将需要它。通常,它们在保存时会生成新文件) enter image description here

  6. 更新您的.edmx(添加/删除表)。

  7. 这不会在edmx下生成新的.tt文件
  8. 它不会更新您的实体类。
  9. 如果要更新实体类,请运行.tt文件。

enter image description here

我尝试了此操作,并且“从数据库更新模型”没有生成新的.tt文件。因此,希望您的问题能够得到解决。