Die Spalte darf nicht in Entity Framework 4.1 Code First aktualisierbar sein

8

Weiß jemand, ob wir die Spalte davon abhalten können, in Entity Framework 4.1 Code First aktualisiert zu werden? Zum Beispiel habe ich 'CreatedOn' Feld, das ich nicht bei der Bearbeitung / Updates enthalten möchte. Ist dies möglich, d. H. Das selektive Ausschließen des Feldes von der Aktualisierungsoperation in EF Code First 4.1?

    
Bikal Lem 24.05.2011, 18:56
quelle

1 Antwort

15

Wenn Sie mit angehängten Entitäten arbeiten, generiert EF nur Aktualisierungen für Felder, die sich geändert haben. Wenn Sie mit getrennten Entitäten arbeiten, müssen Sie EF manuell angeben, was sich geändert hat. Wenn Sie das anrufen:

%Vor%

Sie sagen EF, dass alle Eigenschaften geändert werden sollten. Aber wenn Sie das stattdessen anrufen:

%Vor%

Sie werden sagen, dass nur SomeProperty geändert wird (nur diese Eigenschaft wird in der Aktualisierung sein). Ich bin mir nicht sicher, ob Sie die umgekehrte Operation ausführen können, indem Sie die gesamte Entität als modifiziert markieren und Eigenschaften auswählen, die nicht geändert werden sollten, aber Sie können sie selbst testen.

Wenn Ihr CreatedOn in der Datenbank eingetragen ist, können Sie es als DatabaseGeneratedOption.Identity markieren und es wird niemals von Ihrer Anwendung geändert werden.

    
Ladislav Mrnka 25.05.2011, 07:18
quelle