如何使用Entity框架设计器更新后保存手动更改?

时间:2010-02-03 06:41:09

标签: entity-framework

我正在使用实体框架设计器来构建实体。我发现设计师真的很难使用,因为它会在使用设计器进行每次模型更新后覆盖所有手动更改。你是怎么解决这个问题的?谢谢!

2 个答案:

答案 0 :(得分:0)

你手动改变什么样的东西?该实体仍然必须可以映射到数据库模式。

您可以通过声明部分类来扩展或添加功能。

不要对生成的文件中的实体进行任何更改 - 我认为它在标题中表示。

所有实体都生成为partial类,这意味着您可以在其他地方声明“更多”类。

以下是一个例子:

public partial class Name
{
   public string First { get; set; }
}

public partial class Name
{
   public string Last { get; set; }
}

虽然我有两个不同的类声明,可能在项目中的不同文件和文件夹中,但它被编译为一个类。

我现在可以像这样使用Name类:

var name = new Name();
name.First = "Jane";
name.Last = "Doe";

如您所见,两个声明中的属性在Name类型的对象中统一。

要将此应用于EF,请保留部分实体类,并声明具有相同名称的单独部分类以添加功能。

答案 1 :(得分:0)

还有另一种第三方工具。有关更多信息,请参阅this。目前,Devart Entity Developer不包含“从数据库更新”功能。 “从数据库更新”功能位于我们的路线图中。