나는 Person 엔티티를 가지고있다. 사람은 많은 기록에 의해 집단을가집니다.LINQ to this message exception :`get_Item (Int32)`
public class Person()
{
virtual public IList<Record> Records {get; set;}
}
및
public class Record()
{
virtual public int Number {get; set;}
}
나는 NHibernate에 의해 LINQ 쿼리가 있습니다.
Domain.Entities.Record get_Item(Int32)
이유 :
var q = SessionInstance.Query<Person>()
.Where(x => x.Records.Any() && x.Records[0].Number>= 5);
q.ToList<Person>()
은이 메시지의 예외에 의해 런타임 오류가 무엇입니까?
다른 예외가 있습니다. 새 메시지 예외는 'Antlr.Runtime.NoViableAltException'유형의 예외가 발생했습니다. [Domain.Entities.Person] (NHibernate.Linq.NhQueryable'1 [Domain.Entities.Person], Quote ((x,) => (AndAlso (Domain.Entities.Record) (x.Records), GreaterThanOrEqual (.FirstOrDefault [Domain.Entities.Record] (x.Records,) .VolunteerFront, p1))),)] – Ehsan
이 쿼리를 시도하십시오. var q = SessionInstance.Query() .Where (x => x.Records.Any (r => r.Number> = 5)); –
하지만 Person.Records.Number> = 5 인 컬렉션에서 Person을 반환합니다. 쿼리의 첫 번째 항목 만 확인하는 이유가 있습니까? –