渴望获取两个级别的集合

时间:2013-03-14 14:14:23

标签: .net nhibernate

所以我有这个结构(省略不相关的东西):

public class Root
{
    public IList<A> ListOfA { get; set; }
}

public class A
{
    public IList<B> ListOfB { get; set; }
}

public class B
{
}

我坚持这个:

new Root
{
    ListOfA = new List<A>{
       ListOfB = new List<B>{
           new B(),
           new B()
       }
    }
};

当我用它查询时:

return Session.QueryOver<Root>()
           .Fetch(v => v.ListOfA).Eager()
           .Fetch(v => v.ListOfA[0].ListOfB).Eager()
           .TransformUsing(Transformers.DistinctRootEntity)
           .List();

我在ListOfA中得到重复的条目:

root.ListOfA.Count == 2
root.ListOfA[0].ListOfB.Count == 2
root.ListOfA[1].ListOfB.Count == 2

我做错了什么?

0 个答案:

没有答案