【问题标题】:How to update model working with EF code first with 'Code First from Database'如何使用“数据库中的代码优先”更新使用 EF 代码的模型
【发布时间】:2014-11-19 10:08:03
【问题描述】:

在一个项目中,EF 6.1 与使用“数据库代码优先”方法的现有数据库一起使用,如本文http://msdn.microsoft.com/en-us/data/jj200620 中所述

最初 EF 生成模型类,后来一些其他类被添加到数据库中,现在我还需要为这些新表生成模型类。

请指导我如何在不重新生成所有内容的情况下做到这一点。另外,不是为所有表生成模型类,有没有一种方法可以选择表来生成模型以使用相同的方法。

【问题讨论】:

标签: c# .net entity-framework ef-code-first entity-framework-6


【解决方案1】:

遍历生成过程,在生成过程中,它允许您选择表。只选择较新的。

不要选择所有表格,而是展开小三角形并选择您需要的内容。您还必须选择任何依赖表,否则该过程将失败。如果那些依赖表已经存在,只需删除新代码(不幸的是,它们无法避免生成)。

这里列出了更多技巧:Reverse engineering a subset of tables for Entity Framework

【讨论】:

  • 如何重用 DbContext?当我尝试这种方法时,它抱怨 DbContext 已经存在,所以我必须创建一个新名称 (DBContext2),创建它,并将 DbContext2 重命名为 DBContext。或者先删除 DbContext。
  • 我有同样的问题/问题。
【解决方案2】:

另一种选择是从项目中删除自动生成的类并再次生成它们。虽然遵循这种方法,我们只需要确保的是,我们应该为数据模型(继承自 DbContext 的类名)提供与前一个相同的名称。数据模型名称在下面的快照中突出显示。

【讨论】:

    猜你喜欢
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 2013-03-13
    • 2015-12-07
    相关资源
    最近更新 更多