从集合中获取第一个元素

时间:2016-07-06 13:10:39

标签: c# linq nhibernate

我试图只从集合中获取第一个元素,但我收到此错误:

  

获取请求必须是简单的成员访问表达式; ' [100002]'是一个SubQueryExpression而是。参数名称:relatedObjectSelector。

我的疑问是:

var allConferences = Session.Query<ConferenceDao>()
                .Fetch(i => i.Incident)
                .ThenFetch(s => s.Sheets.FirstOrDefault()) //here i need only first sheet
                .ThenFetch(v => v.Victims)
                .ProjectTo<TelephonyConference>();

我也试过这个:

var subQ = QueryOver.Of<IncidentDao>().SelectList(x => x.SelectMin(y => y.Sheets));

 var allConferences = Session.QueryOver<ConferenceDao>()
            .Fetch(i => i.Incident).Eager
            .WithSubquery.WhereProperty(x => x.IncidentId).In(subQ)
            .List()
            .AsQueryable()
            .Fetch(b=>b.Victims)
            .Fetch(a => a.Agency)
            .ProjectTo<TelephonyConference>();

        return allConferences;

但是我收到了这个错误:

  

&#34;没有方法&#39;获取&#39; on type&#39; NHibernate.Linq.EagerFetchingExtensionMethods&#39;匹配指定的参数&#34;

我知道如何解决这个问题?感谢

0 个答案:

没有答案