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

发布于 2024-12-08 09:37:23 字数 495 浏览 0 评论 0原文

我有一个类,其中包含我试图在 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" 表和一对多关系。

我不能使用套装或包,因为订单很重要(一周中的某一天)。

有什么想法吗?谢谢。

I have a class that contains a collection (IList) of floats that I'm trying to map in FNH:

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

The DailyHours member is initialized to a fixed length of 7 elements, one for each day of the corresponding week.

How do I map DailyHours in FNH? I would like to keep everything in the "WeeklyHours" table rather than create an "Hours" table and a one-to-many relationship.

I can't use a set or bag because order is important (day of the week).

Any ideas? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黎夕旧梦 2024-12-15 09:37:23

为什么是列表而不是数组?

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

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


Map(x => x.DailyHours);

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

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

why list and not array?

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

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


Map(x => x.DailyHours);

this would create a binary represantation of the array in a column of the WeeklyHours-table.

Edit: another option would be a CustomUserType to serialize/deserialize the array to the column. I can post a mapping if wanted

维持三分热 2024-12-15 09:37:23

如果您使用 Fluent NHibernate 自动映射,这应该可以正常工作,不需要程序员的任何额外帮助。

If you are using Fluent NHibernate automapping, this should just work, with no need for any additional help from the programmer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文