Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NHibernate:集合中的空值_C#_Nhibernate - Fatal编程技术网

C# NHibernate:集合中的空值

C# NHibernate:集合中的空值,c#,nhibernate,C#,Nhibernate,我有一个带有位置字段的有序对象集合,当检索集合Nhibernate时,将null放在索引之间的间隙中[例如:0-object,1-null,2-null,3-object…] 我有以下映射: <list name="CheckListItems" lazy="true" inverse="true" batch-size="25" cascade="all-delete-orphan"> <key column="TopicID"

我有一个带有
位置
字段的有序对象集合,当检索集合
Nhibernate
时,将
null
放在索引之间的间隙中[例如:0-object,1-null,2-null,3-object…]

我有以下映射:

<list name="CheckListItems" lazy="true" inverse="true"
                     batch-size="25" cascade="all-delete-orphan">
  <key column="TopicID" />
  <index column="Position" />
  <one-to-many class="CheckListItem" />
</list>


我希望NHibernate根据位置字段对我的列表进行排序,而不考虑间隙。

这是NHibernate的功能,我认为无法关闭。如果索引列表中有孔,则NHibernate会在孔的位置插入null。这正是你所看到的行为


正如中的Ayende所建议的,应用程序应该确保每当索引列表中存在漏洞时,都会重新计算index属性,以确保没有漏洞(如果这是您想要的行为)。NHibernate不能为你这么做

我在网上几乎找不到这方面的文档。2021年的情况似乎仍然如此,令人非常恼火。