如何使用Fluent NHibernate映射浮动集合?

时间:2011-10-04 14:02:56

标签: fluent-nhibernate nhibernate-mapping

我有一个类,其中包含我试图在FNH中映射的浮点集合(IList):

class WeeklyHours {
    public virtual Person Employee { get; set; }
    public virtual WeekOfYear Week { get; set; }
    public virtual IList<float> DailyHours { get; set; }
}

DailyHours成员初始化为固定长度的7个元素,每个元素对应一周的每一天。

如何在FNH中映射DailyHours?我想将所有内容保存在"WeeklyHours"表中,而不是创建"Hours"表和一对多关系。

我不能使用套装或包,因为订单很重要(星期几)。

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:0)

为什么列表而不是数组?

public virtual float[] DailyHours { get; private set; }

public WeeklyHours()
{
     DailyHours = new float[7];
}


Map(x => x.DailyHours);

这将在WeeklyHours表的列中创建数组的二进制represantation。

编辑:另一个选项是CustomUserType,用于将数组序列化/反序列化为列。如果需要,我可以发布映射

答案 1 :(得分:0)

如果您正在使用Fluent NHibernate自动化,这应该可以正常工作,而无需程序员的任何其他帮助。