C# 如何处理这种情况?

C# 如何处理这种情况?,c#,vb.net,nhibernate,hibernate,C#,Vb.net,Nhibernate,Hibernate,我有以下两个表(SQL Server): 稍微解释一下,第二个表将第一个表中的项目分组。文档可以在第二个表中包含各种“组项”。我有以下BusinessObjects类: IndexValue { int Id; string Value; Document Document; Index Index; } IndexValueList { int Id; Document Document; List<List<IndexValue>> IndexesValues; }

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

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

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

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

索引值列出行:

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
IdIndexValueList  / IdIndexValue

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

列表列表似乎不像NHibernate支持的那种开箱即用的东西。(当然,如果对您来说真的那么重要,您可以自行实现对该场景的支持。)


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

列表列表似乎不是NHibernate开箱即用的支持。(当然,如果对您来说真的那么重要,您可以自行实现对该场景的支持。)


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

当然,这是一个选项。我无法更改在数据库中的操作方式,但如果我可以创建一个IndexValuesGroup类并执行所需的映射,列表列表将不是必需的,但我认为这比列表更难。谢谢你的回复;)当然,这是一种选择。我无法更改在数据库中的操作方式,但如果我可以创建一个IndexValuesGroup类并执行所需的映射,列表列表将不是必需的,但我认为这比列表更难。谢谢你的回复;)
IdIndexValueList  / IdIndexValue

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