Соблюдайте 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

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