我在将现有数据类成员映射到数据库时遇到问题。
我有一个数据库表,其中一列是字符串类型,但实际上存储了逗号分隔的数字列表。我的数据类将此字段显示为整数列表。
问题是我在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;
}
有人可以帮忙吗?
答案 0 :(得分:1)
将列映射为NHibernate.UserTypes.IUserType
。
<class name="Dummy">
<property name="NumbersList" type="mynamespace.MyIntListType, mydll" />
</class>
IUserType的一些示例: