是否可以配置 NHibernate(特别是 Fluent NHibernate)将简单类型的数组序列化为单个数据库列?我似乎记得这是可能的,但自从我使用 NHibernate 以来已经有一段时间了。
本质上,我需要存储一个人工作的星期几(int[]
),并且不想为此目的而有一个单独的表。
是否可以配置 NHibernate(特别是 Fluent NHibernate)将简单类型的数组序列化为单个数据库列?我似乎记得这是可能的,但自从我使用 NHibernate 以来已经有一段时间了。
本质上,我需要存储一个人工作的星期几(int[]
),并且不想为此目的而有一个单独的表。
有可能的。
您需要实现一个IUserType
处理数组和数据列之间映射的a(首先谷歌;可能有人已经实现了它)
或者,您可以在实体类中进行转换,并映射单字段表示而不是属性。例如:
string numbers;
public int[] Numbers
{
get { return numbers.Split(','); }
set { numbers = string.Join(",", value.Select(x => x.ToString())); }
}
是的。有UserType
这样的场景。你也可以使用 enum 和bit flag
.