3

我正在重构一个流畅的 nHibernate 映射,但我似乎无法弄清楚这一点。我想将具有类型的属性重新映射到子表,但如果可能的话List<decimal>使用单个属性。HasMany

现在我们有:Map(x => x.DecimalList); 这给了我们一个很好的类型varbinary(8000)

在我尝试将此移动到有序子表时,我尝试过:

HasMany(x => x.DecimalList)
.Table("ParentTable_DecimalList")
.KeyColumn("Id")
.Element("Amount")
.KeyColumn("ParentId")
.Cascade.AllDeleteOrphan();

这给了我关系,有两列:ParentIdAmount。唯一的问题是我还想在子表上放置一个 Order 或 Primary Key/ID 列,以确保我们无论如何都保留列表的顺序。

有没有办法添加一个强大的 int Primary Key 列和/或 Order 列,而不会将其分解为更复杂的子对象/映射?

4

1 回答 1

4

将其映射为列表

HasMany(x => x.DecimalList)
...
.AsList(x => x.WithColumn("ListPosition")

默认情况下,它被映射为一个不保留顺序的包。

于 2011-11-10T14:15:32.507 回答