Frage Überschreiben von ToString, Equals, .. in Entities bei Verwendung von Entity Framework


Ich würde gerne übersteuern ToString, Equals und GetHashCode Methoden eines Entität generiert durch das Modell des Entity Framework.

Was könnte der beste Weg sein, dies zu tun?

Jetzt bearbeite ich manuell die ___Model.Designer.cs Datei, die das Modell generiert, aber jedes Mal, wenn ich das Modell ändere, habe ich diese Änderungen natürlich verloren.


5
2018-04-15 06:02


Ursprung


Antworten:


Jede Entität ist als partielle Klasse definiert, sodass Sie eine zusätzliche partielle Klasse definieren können, um die Entität um zusätzliche Eigenschaften oder Methoden zu erweitern.

Nehmen wir an, Sie haben eine Entität definiert Person in Ihrem EntityModel.

Jetzt können Sie einen neuen Klassendateinamen erstellen Person.cs in deinem Projekt. Innerhalb der Klassendatei definieren Sie a

public partial class Person{
   // Here you can add your additional functionality or method overrides
}

Die partielle Klasse muss im selben Namespace und in derselben Assembly definiert sein wie die Person Entität.

Die neue Klassendatei ist von Änderungen im EntityModel nicht betroffen (Nur wenn Sie die Entity entfernen oder die Eigenschaften ändern, muss Ihre partielle Klasse möglicherweise aktualisiert werden).


16
2018-04-15 06:51