Używam EF5 i nie wiem, dlaczego jednostka ma "zmodyfikowany" stan po ustawieniu jedynej zmienionej wartości PropertyValue tego obiektu do pierwotnej wartości.Entity Framework 5 - Dlaczego stan jednostki "zmodyfikowano" po ustawieniu właściwości PropertyValue na wartość oryginalną
using (TestDbContext context = new TestDbContext())
{
string name = context.Person.First().Name;
// count is 0
int count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);
// Change Value
context.Person.First().Name = "Test";
// count is 1
count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);
// Revert Value
context.Person.First().Name = name;
context.ChangeTracker.DetectChanges();
// count is 1
count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);
}
Dlaczego? . :(
Gdy masz 'zmieniony = prawda;' możesz "przerwać" z pętli, aby nie marnować cykli. –
Dobra uwaga, dziękuję. :) Dodam, że do naszej realizacji. – user1793714
Trochę tajemniczy, aby wprowadzić go w stan pętli. :) Na pierwszy rzut oka tęskniłbym za tym. –