Неожиданное поведение в рамках сущности Core 7C#

Место общения программистов C#
Anonymous
 Неожиданное поведение в рамках сущности Core 7

Сообщение Anonymous »

При изучении EF Core 7 я попробовал этот код: < /p>
using CompanyDBContext dbContext = new CompanyDBContext();
var emp = dbContext.Employees.First(e => e.Name == "Yousef");
emp.Name = "Yousef2";
emp.Name = "Yousef";
Console.WriteLine(dbContext.Entry(emp).State); // Output is unchanged
< /code>
Я знаю, что EF Core делает снимок, когда он получает объект из базы данных для отслеживания изменений. using CompanyDBContext dbContext = new CompanyDBContext();
var emp = dbContext.Employees.First(e => e.Name == "Yousef");
emp.Name = "Yousef2";
Console.WriteLine(dbContext.Entry(emp).State); // Output: Modified
emp.Name = "Yousef"; // Like the original value.
Console.WriteLine(dbContext.Entry(emp).State); // Output: Modified !!!!!
< /code>
Я не знаю, почему он стал изменен, хотя я вернул его значение в оригинал.
Почему EF не сравнил новое значение со значением снимка и не оставил состояние без изменений? < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ork-core-7

Вернуться в «C#»