如果一个属性被配置为并发令牌,则EF将在保存这条记录时,会检查没有其他用户修改过数据库中的这个属性的值。...EF使用了乐观并发策略,这意味着它将假定值没有改变,并尝试保存数据,但如果发现值已更改,则抛出异常。
举个例子,我们有一个用户类(User),我们配置 User中的 Name为并发令牌。...这意味着,如果一个用户试图保存一个有些变化的 User,但另一个用户已经改变了 Name那么将抛出一个异常。...如果数据库中的值已更改,则不会更新任何行。...首先,我们添加了一条UserName为John的数据,我们在上下文中修改它为"555-555-5555",
这时候,产生并发,另一个上下文在这个SaveChang之前,就执行完成了,把值修改为了Jane