枚举为数据库中的字符串和数字

时间:2012-07-19 06:20:42

标签: nhibernate nhibernate-mapping fluent-nhibernate-mapping

我有一张桌子

table Foo
(
    id,
    FooType,
    FooTypeName,
)

FooType是具有固定值的枚举,因此我想将其映射到

public virtual FooType FooType { get; set; }

如何在两列中序列化属性,但只使用一列进行读取和查询?

哪个映射(xml,按代码映射,FluentMapping)无关紧要

1 个答案:

答案 0 :(得分:1)

您可以将FooTypeName创建为投射FooType值的字符串属性,并将其映射为readonly


或者,如果您根本不需要 {/ 1>},只需在模型中忽略它并使用触发器更新它。


或者,如果您想编写很多代码,请创建一个将FooTypeName映射到两列的用户类型。