使用Entity Framework时,在实体中覆盖ToString,Equals,..

Osc*_*ros 5 overriding entity-framework visual-studio

我想重写ToString,EqualsGetHashCode一个方法实体实体框架的模型生成.

这可能是最好的方法吗?

现在我手动编辑___Model.Designer.cs生成模型的文件,但每当我更改模型时,我当然丢失了这些更改.

Jeh*_*hof 16

每个实体都被定义为一个分部类,因此您可以定义一个额外的分部类,以使用其他属性或方法扩展实体.

假设您已Person在EntityModel中定义了一个实体.

现在,您可以Person.cs在项目中创建新的类文件名.在类文件中,您可以定义一个

public partial class Person{
   // Here you can add your additional functionality or method overrides
}
Run Code Online (Sandbox Code Playgroud)

必须在与Person实体相同的命名空间和相同的程序集中定义分部类.

新类文件不受EntityModel中更改的影响(仅当您删除实体或更改属性时,您的部分类可能需要更新).