如何在实体数据模型创建的对象上覆盖Equals?

jam*_*one 12 c# overriding entity-framework

我有一个我创建的实体数据模型,它从SQLite DB中提取记录.其中一个表是People,我想覆盖person.Equals()方法,但我不确定在哪里进行这样的更改,因为Person对象是自动生成的,我甚至看不到那个自动代码驻留.我知道如何在手工制作的对象上重写Equals,它只是在autogen上做到这一点.

Nat*_*ate 11

您需要创建一个分部类.将新的.cs文件添加到您的解决方案中,并按以下方式启动它:

public partial class Person
{
    public override bool Equals(Object obj)
    {
        //your custom equals method
    }
}
Run Code Online (Sandbox Code Playgroud)


And*_*zub 7

您可以尝试使用部分类 - 我认为您可以在解决方案中找到自动生成的代码.如果您发现默认情况下Equals没有被覆盖,并且生成的类是部分的(我认为它应该是部分的),那么您可以将另一个文件添加到解决方案中并将部分类放在Equals的实现中:

public partial class Person
{
    // Your override of Equals here
}
Run Code Online (Sandbox Code Playgroud)