Nhibernate 将简单类型的数组序列化到单个数据库字段中

Nhibernate 将简单类型的数组序列化到单个数据库字段中,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,是否可以将NHibernate(特别是Fluent NHibernate)配置为将简单类型的数组序列化为单个数据库列?我似乎记得这是可能的,但我已经有一段时间没有使用NHibernate了 基本上,我需要存储一个人每周工作的天数(int[]),并且不希望为了这个目的而有一个单独的表。是的。像这样的场景有UserType。也可以使用enum和位标志,这是可能的 您需要实现一个负责数组和数据列之间映射的IUserType(首先用谷歌搜索;可能有人已经实现了它) 或者,可以在实体类中进行转换,并映射单

是否可以将NHibernate(特别是Fluent NHibernate)配置为将简单类型的数组序列化为单个数据库列?我似乎记得这是可能的,但我已经有一段时间没有使用NHibernate了


基本上,我需要存储一个人每周工作的天数(
int[]
),并且不希望为了这个目的而有一个单独的表。

是的。像这样的场景有
UserType
。也可以使用enum和
位标志

,这是可能的

您需要实现一个负责数组和数据列之间映射的
IUserType
(首先用谷歌搜索;可能有人已经实现了它)

或者,可以在实体类中进行转换,并映射单个字段表示形式而不是属性。例如:

string numbers;

public int[] Numbers
{
    get { return numbers.Split(','); }
    set { numbers = string.Join(",", value.Select(x => x.ToString())); }
}

您是否尝试映射简单的整数数组?行为可能取决于您的数据库,但至少对于SQLite,我相信FNH会将其映射为BLOB。顺便说一句,我之前的评论适用于FNH自动映射。