代码之家  ›  专栏  ›  技术社区  ›  jamone

如何重写由实体数据模型创建的对象上的等号?

  •  12
  • jamone  · 技术社区  · 15 年前

    我创建了一个实体数据模型,它从一个sqlite数据库中提取记录。 其中一个表是people,我想重写person.equals()方法,但是我不确定要在哪里进行这样的更改,因为person对象是自动生成的,我甚至看不到autogen代码在哪里。我知道如何覆盖一个手工制作的对象上的equals,它只是在autogen one上做这个的地方。

    2 回复  |  直到 15 年前
        1
  •  11
  •   Nate CSS Guy    15 年前

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

    public partial class Person
    {
        public override bool Equals(Object obj)
        {
            //your custom equals method
        }
    }
    
        2
  •  7
  •   Andrew Bezzub    15 年前

    您可以尝试使用分部类-我认为您可以在解决方案中找到自动生成的代码。如果您发现equals在默认情况下不被重写,并且生成的类是部分的(我认为它应该是部分的),那么您可以向解决方案中添加另一个文件,并将implemention为equals的分部类放在那里:

    public partial class Person
    {
        // Your override of Equals here
    }
    
    推荐文章