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