定义实体实例时不能使用枚举值 0

Cannot use value 0 of an enumeration while defining instances of an entity

在使用 CF 实体时,我在定义使用枚举值的实体实例时遇到了问题。 我可以添加 entitytwor 的实例,但是在构建或保存期间会出现错误,争论:

CF0134: Instance value for key property 'EnumType' of entity 'Namespace.Entity' cannot be equal to the key property default value '0' of type 'System.Int32' ...

XML 将按预期显示 属性 的关联枚举值。

看起来问题只在使用第一个枚举值(关联值 0)时出现。其他线路不会有问题。 在定义枚举值或使用枚举值时有什么特别的事情要做吗?

感谢您的回答

CodeFluent Entities 为任何类型的属性定义了 "default value" 的概念,包括值类型和枚举。默认值允许在数据库中存储 null 而无需使用 .NET Nullable 类型。

<cf:enumeration name="EmailStatus">
  <cf:enumerationValue name="Valid" /> <!-- will become NULL in the Database -->
  <cf:enumerationValue name="Invalid" />
</cf:enumeration>

虽然默认值行为默认启用,但您也可以更改它:

在 属性 级别,通过将其 usePersistenceDefaultValue 属性设置为 false:

<cf:property typeName="EmailStatus" usePersistenceDefaultValue="false" />

在枚举级别通过将其 usePersistenceDefaultValue 属性设置为 false:

<cf:enumeration usePersistenceDefaultValue="false" />

在项目级别通过将其 defaultUsePersistenceDefaultValue 属性设置为 false:

<cf:project defaultUsePersistenceDefaultValue="false" />

http://blog.codefluententities.com/2012/11/15/property-default-values-and-enumerations/