1

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

CF0134:实体“Namespace.Entity”的键属性“EnumType”的实例值不能等于“System.Int32”类型的键属性默认值“0”...

XML 将按预期呈现属性的关联枚举值。

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

感谢您的回答

4

1 回答 1

0

CodeFluent 实体为任何类型的属性定义了“默认值”的概念,包括值类型和枚举。默认值允许存储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/

于 2016-02-22T14:13:53.020 回答