开发者

NHIbernate fetch returning multiple parent objects

Can anyone explain why this query would return 12 companies (it has 12 UserAccessList children)

var list = session.QueryOver<Company>()
        .Where(x =>开发者_开发技巧 x.Id == 1) //x => x.Id.IsIn(ids))
        .Fetch(l => l.UserAccessList).Eager()
        .List<Company>();


Because in SQL its going to be something like:

select * from 
Companies c left outer join UserAccessLists uac on c.Id == uac.CompanyId
where c.id = id

And it is giving duplicates in results. How to fix such issues you can read here.


This also works

var c = session.QueryOver<Company>()
        .Future();

 session.QueryOver<Company>()
        .Fetch(l => l.UserAccessList).Eager()
        .Future();

var list = c.ToList();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜