При наличии класса 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