Verwenden von VS2010 SP1 MVC4 und EF6. Ich habe diesen hübschen generischen Code. Es ist beabsichtigt, die DateCreated- und DateModified-Eigenschaften zu erfassen und sie bei jedem Speichern zu füllen.EF ChangeTracker.Entries(). Wird nicht erkannt
foreach (var history in this.ChangeTracker.Entries()
.Where(e => e.Entity is IModificationHistory && (e.State == EntityState.Added ||
e.State == EntityState.Modified))
.Select(e => e.Entity as IModificationHistory))
{
history.DateModified = DateTime.Now;
if (history.DateCreated == DateTime.MinValue)
{
history.DateCreated = DateTime.Now;
}
}
int result = base.SaveChanges();
Ich erhalte einen Fehler auf dem .Where
. Wenn ich eine .
nach Entries()
die Intellisense gibt keine Option für Where
, nur die 5 Standard GetType
, etc. Wenn ich die Where-Klausel entfernen, dann zeigt die .Select einen Fehler.
Was ist falsch an dem Code?
Was ist der Fehler, den Sie bekommen? Vermissen Sie eine 'using System.Linq' Direktive? –
Ja, es ist die Verwendung. Beachten Sie, dass Sie 'this.ChangeTracker.Entries()' lieber verwenden sollten. –