Кажется, что AsNoTrackingWithIdentityResolution() не работает?C#

Место общения программистов C#
Ответить
Гость
 Кажется, что AsNoTrackingWithIdentityResolution() не работает?

Сообщение Гость »


Я прочитал статью о методе AsNoTrackingWithIdentityResolution() и о том, что это способ разрешения идентификации без отслеживания, и что при его использовании в фоновом режиме запускается средство отслеживания изменений, отличное от средства отслеживания контекста, для разрешения сущностей, которые относятся к одной и той же строке к одному экземпляру.
Я пытался проверить это, выполнив следующий код, но экземпляры не были разрешены в один экземпляр.

Код: Выделить всё

// Initially the table is empty
Employee emp1 = new Employee()
{
FirstName = "name1",
LastName = "name2",
Salary = 11111
};

context.Add(emp1);
context.SaveChanges();

Employee emp2 = (from e in context.Employees
where e.FirstName == "name1"
select e).SingleOrDefault();

// Identity resolution takes place
Console.WriteLine(emp1 == emp2); // True

Employee emp3 = (from e in context.Employees
where e.FirstName == "name1"
select e).AsNoTrackingWithIdentityResolution().SingleOrDefault();

// Expected to give True due to using AsNoTrackingWtihIdentityResolution()
Console.WriteLine(emp1 == emp3); // but found False

Employee emp4 = (from e in context.Employees
where e.FirstName == "name1"
select e).AsNoTrackingWithIdentityResolution().SingleOrDefault();

// Also no identity resolution happened
Console.WriteLine(emp4 == emp3); // False
The reference comparison only gave true when the two compared instances (which are resolved to one instance) were tracked by the context change tracker. I'm using EF core 8.0.2


Источник: https://stackoverflow.com/questions/781 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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