如何使用NHibernate将枚举映射到数据库或从数据库映射?

时间:2008-10-02 20:57:01

标签: nhibernate enumeration

编辑:瑞安提出了一个很好的观点。我特别希望能够在仍然存储人类可读值的数据库中进行映射。也就是说,我不想在我的数据库中使用一堆枚举整数。

4 个答案:

答案 0 :(得分:5)

根据documentation,您可以将映射文件中属性的type属性留空,也可以定义它并指定枚举的类名。

另一种方法是将枚举转换为int并使用int作为映射类型。

答案 1 :(得分:2)

您必须实现自定义IUserType。请参阅this post

答案 2 :(得分:0)

我从未使用过NHibernate,但你不能只将SQL数据类型设置为int吗?

答案 3 :(得分:0)

我认为您可以将类型设置为字符串:

<property name="EnumProperty" Type="string" Length="50" NotNull="true" />