我有这种情况。我和父母有一张桌子,孩子也有一张桌子。我想将所有家庭(父母和所有孩子)分配到一个房间,并确保我分配所有他们。但是我想避免第二个过程在第一个过程的中间添加一个新的孩子,而在房间里我不会拥有所有的孩子。
我的桌子是:
Persons
{
bigInt IDPerson;
varchar(200) Name;
bigInt IDParent;
Timestamp ConcurrencyCheck;
}
因此,一种选择是处理乐观并发how I can see in this document。
我的疑问是,如果添加一个新子代,则父代不会被修改,那么EF会抛出异常吗?我想不是。
如果未引发异常,我正在考虑在新字段中添加NumberOfChilds,因此每次添加或删除新子项时都必须进行更新,因此将引发异常。
但是我不确定这是否是一个好选择,或者是否有更好的替代方法。
谢谢