Ich benutze EF 4.3.1 Ich muss einen Standardwert einer Entität beim Speichern hinzufügen.
Im Moment benutze ich SaveChanges() und es funktioniert.
Wie Sie aus dem Code sehen können, benutze ich ChangeTracker.Entries()
wo Option
einen spezifischen Datentyp darstellt.
Ich möchte wissen, ob es möglich ist und wie man eine allgemeinere Version von ChangeTracker.Entries schreibt, so etwas wie ChangeTracker.Entries()
, damit es alle Arten von Entitäten in meinem Modell überprüfen kann. In meinem speziellen Fall habe ich eine NoteInternal-Eigenschaft in vielen Klassen.
public override int SaveChanges()
{
#region Option BL
var entities = ChangeTracker.Entries()
.Where(e => e.State == EntityState.Added ||
e.State == EntityState.Modified)
.Select(e => e.Entity);
// Standardwerte hinzufügen, wenn eine Entität erstellt oder bearbeitet wird
string defaultvalue = "";
foreach (var entity in entities)
{
if (String.IsNullOrWhiteSpace(entity.NoteInternal))
entity.NoteInternal = defaultvalue;
}
#endregion
return base.SaveChanges();
}
Vielen Dank für Ihre Hilfe!
PS: Macht es hier Sinn, den DYNAMISCHEN Datentyp zu verwenden?