对于NHibernate中的集合映射以及列表等有序集合,必须映射索引列字段.我刚才注意到,从NHibernate 2.0开始,似乎还有一个"list-index"属性,我相信它可以用在索引的位置.
除了能够使用"list-index"指定基本索引值之外,两者之间是否存在差异?使用一个VS另一个有什么好处?
我有同样的问题并阅读了代码。我发现了以下内容:
(NH 3.0,Cfg\Collection Binder.cs,#548)
private void BindCollectionIndex(/*...*/)
{
// ...
if (listMapping.ListIndex != null)
{
iv = new SimpleValue(model.CollectionTable);
new ValuePropertyBinder(iv, Mappings).BindSimpleValue(
listMapping.ListIndex,
IndexedCollection.DefaultIndexColumnName,
model.IsOneToMany);
}
else if (listMapping.Index != null)
{
iv = new SimpleValue(model.CollectionTable);
listMapping.Index.type = NHibernateUtil.Int32.Name;
new ValuePropertyBinder(iv, Mappings).BindSimpleValue(
listMapping.Index,
IndexedCollection.DefaultIndexColumnName,
model.IsOneToMany);
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
这对我来说意味着:
list-index覆盖indexindex设置为int。因此,您必须检查在映射文件中使用其他类型时实际发生的情况。list-index支持base告诉它从哪个索引开始。(这是在其他地方找到的)| 归档时间: |
|
| 查看次数: |
843 次 |
| 最近记录: |