Соблюдайте ConcurrencyToken или ConcurrencyCheck для включенных свойств в EF Core [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Соблюдайте ConcurrencyToken или ConcurrencyCheck для включенных свойств в EF Core [дубликат]

Сообщение Anonymous »

При наличии класса A и класса B, где класс A содержит ссылку на класс B и где некоторая логика в A зависит от некоторого состояния в B, как я могу настроить EF Core, чтобы гарантировать, что B не изменился при обновлении A?

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

class A
{
public B B { get; set; }

public void Foo()
{
if (B.IsLocked)
{
// do something
}
}
}

class B
{
public bool IsLocked { get; set; }
}
Где-то в коде:

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

var a = LoadA().IncludeB();

a.Foo();

SaveChanges(a);   // This should throw if B.IsLocked has changed!
EDIT: я имею в виду изменения, которые происходят с B за пределами объема работы, выполняемой A. Другими словами, я пытаюсь реализовать оптимистический параллелизм, но не на основе значений A, а на основе значений A.B.

Подробнее здесь: https://stackoverflow.com/questions/798 ... in-ef-core
Ответить

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

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

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

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

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