2010-03-18 3 views
12

Ich habe ein Entitätsdatenmodell, das ich erstellt habe, und es zieht Datensätze aus einer SQLite DB. Eine der Tabellen ist People, ich möchte die Person.Equals() -Methode überschreiben, aber ich bin nicht sicher, wohin ich gehen soll, um eine solche Änderung vorzunehmen, da das Person-Objekt automatisch generiert wird und ich nicht einmal sehe, wo das Autogen ist Code befindet sich. Ich weiß, wie man Equals auf einem handgemachten Objekt überschreibt, wo genau das bei einem autogenen Objekt geschieht.Wie überschreiben Sie Equals für ein Objekt, das von einem Entitätsdatenmodell erstellt wurde?

Antwort

11

Sie müssen eine partielle Klasse erstellen. Fügen Sie Ihrer Lösung eine neue CS-Datei hinzu und starten Sie sie wie folgt:

public partial class Person 
{ 
    public override bool Equals(Object obj) 
    { 
     //your custom equals method 
    } 
} 
7

Sie können versuchen, Teilklassen zu verwenden - ich denke, Sie können in der Lösung automatisch generierten Code finden. Wenn Sie herausfinden, dass standardmäßig nicht außer Kraft gesetzt Equals und generierte Klasse ist teilweise (ich glaube, es sollte teilweise sein), als Sie eine andere Datei zu Ihrer Lösung hinzufügen und legen partielle Klasse mit implenentation von Equals gibt:

public partial class Person 
{ 
    // Your override of Equals here 
} 
Verwandte Themen