ebb*_*ebb 4 c# entity-framework ef-code-first
简单,但对我来说很神秘:为什么StringPropertyConfiguration(和所有其他 PropertyConfiguration)类有 2 个重载IsConcurrencyToken()?
首先:
public StringPropertyConfiguration IsConcurrencyToken()
配置要用作乐观并发令牌的属性。
第二个:
public StringPropertyConfiguration IsConcurrencyToken(bool?)
配置是否将属性用作乐观并发令牌。
你为什么要使用一个?在我看来,这两个重载之间根本没有区别(至少在使用它们时没有区别)......
通过使用第一个,您将编写如下内容:
modelBuilder.Entity<Author>()
.Property(x => x.Name)
.IsConcurrencyToken();
Run Code Online (Sandbox Code Playgroud)
通过使用第二个你会写:
modelBuilder.Entity<Author>()
.Property(x => x.Name)
.IsConcurrencyToken(true/false/null);
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我的看法...
将IsConcurrencyToken()默认为true提供一种简单的,流利的方式来定义的实体。
在IsConcurrencyToken(bool?)允许创作者明确设定ConcurrencyMode的实体。这对于高级场景很有用:
[ConcurrencyCheck]POCO 上的属性ConcurrencyMode基于某些自定义约定启用/禁用最后,我认为IsConcurrencyToken(false)比IsNotConcurrencyToken().