如何为这种情况做ORM?

时间:2009-02-18 14:00:37

标签: c# vb.net nhibernate hibernate

我有以下两个表(SQL Server):

**IndexValues**
IdIndexValue int (PK)
Value varchar(2000)
IdIndex int (FK for Table Indexes)
IdDocument int (FK for Table Documents)


**IndexValuesLists**
IdIndexValueList int (PK)
IdIndexValue int (PK with IdIndexValueList, FK for Table Indexes)

稍微解释一下,第二个表将第一个表中的项目分组。文档可以在第二个表中具有各种“组项”。我有以下BusinessObjects类:

IndexValue {
int Id;
string Value;
Document Document;
Index Index;
}

IndexValueList {
int Id;
Document Document;
List<List<IndexValue>> IndexesValues;
}

我不知道如何为最后一个属性进行映射。如何在hbm.xml上执行此操作?

编辑:举例说明我需要的内容:

IndexValues行:

IdIndexValue / Value / IdIndex / IdDocument

1, "A", 10, 500
2, "Circle", 11, 500
3, "John", 12, 500

4, "B", 10, 500
5, "Square", 11, 500
6, "Mary", 12, 500

======================

IndexValuesLists行:

IdIndexValueList  / IdIndexValue

1, 1
1, 2
1, 3
2, 4
2, 5
2, 6

1 个答案:

答案 0 :(得分:1)

列表列表似乎不是NHibernate开箱即用的那种东西。 (如果真的对你来说意义重大,当然,你可以自己实现对这种情况的支持。)

比这更深,您的域模型似乎有点太奇怪了。为什么你有一个索引列表列表?也许您需要一个具有索引值列表的新域实体,并将列表列表替换为此新域实体的列表?