NHibernate中的计算属性

时间:2010-03-08 07:24:44

标签: nhibernate

我在将现有数据类成员映射到数据库时遇到问题。

我有一个数据库表,其中一列是字符串类型,但实际上存储了逗号分隔的数字列表。我的数据类将此字段显示为整数列表。

问题是我在NHibernate中找不到任何钩子,它允许我调用列表字符串替换字符串字段所需的自定义代码,反之亦然。

为了说明(当然简化):

数据库表:

CREATE TABLE dummy (
    id serial,
    numlist text -- (can store values such as '1,2,3')
)

数据类:

class Dummy {
    public int Id;
    public List<int> NumbersList;
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

将列映射为NHibernate.UserTypes.IUserType

<class name="Dummy">
    <property name="NumbersList" type="mynamespace.MyIntListType, mydll"  />
</class>

IUserType的一些示例: