2014-09-24 184 views
0

正与EF 6.1与使用守则“第一次从数据库”的方法将现有数据库用作本文descibed项目http://msdn.microsoft.com/en-us/data/jj200620如何更新模型EF代码第一“从数据库代码首先”

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

请指导我如何做到这一点,而不是重新生成一切。而不是为所有表生成模型类,是否有一种方法可以选择表来生成使用相同方法的模型。

+0

我从来没有找到一种方法。我发现用我想要的新表创建一个新模型比较容易,然后将这些类和'DBSet '声明复制到旧模型 – cost 2014-09-24 19:32:22

+0

[如何在使用Entity Framework 6.1使用Code First from Database之后同步模型和MVC 5?](http://stackoverflow.com/questions/22637350/how-to-synch-model-after-using-code-first-from-database-using-entity-framework-6) – 2016-08-10 02:14:03

回答

0

通过生成过程,并在生成过程中,它允许您选择表格。只选择较新的。

不是选择所有表格,而是展开小三角形并选择你所需要的。您还必须选择任何从属表,否则该过程将失败。如果这些依赖表已经存在,只需删除新代码(不幸的是,对他们来说,没有办法避免产生)。

enter image description here

有这这里列出一些技巧:Reverse engineering a subset of tables for Entity Framework

+0

你怎么样重用DbContext?当我尝试这种方法时,它抱怨DbContext已经存在,所以我必须创建一个新名称(DBContext2),创建它,并将DbContext2重命名为DBContext。或者先删除DbContext。 – Jack 2016-04-10 11:24:03

+0

我有同样的问题。 – Tsukasa 2017-01-18 23:48:48

0

还有一个选项是直接删除自动生成的从项目类,并再次产生他们。虽然遵循这种方法,但我们需要确保这一点,我们应该为数据模型(从DbContext继承的类名)提供与前一个相同的名称。数据模型名称在下面的snap中突出显示。 Data Model Name