我有一個Person實體。人有很多記錄的聚合。的LINQ to NHibernate的這個消息異常:`get_Item(Int32)已`
public class Person()
{
virtual public IList<Record> Records {get; set;}
}
和
public class Record()
{
virtual public int Number {get; set;}
}
我有NHibernate的LINQ查詢。
var q = SessionInstance.Query<Person>()
.Where(x => x.Records.Any() && x.Records[0].Number>= 5);
q.ToList<Person>()
這是一個運行時錯誤此消息異常:Domain.Entities.Record get_Item(Int32)
爲什麼?
這有另一個例外。新的消息異常是:拋出了類型'Antlr.Runtime.NoViableAltException'的異常。 [。凡[Domain.Entities.Person](NHibernate.Linq.NhQueryable'1 [Domain.Entities.Person],報價((X,)=>(AndAlso(。任何[Domain.Entities.Record](x.Records ,),GreaterThanOrEqual(.FirstOrDefault [Domain.Entities.Record](x.Records,).VolunteerFront,P1)))))] – Ehsan 2012-03-13 12:29:34
嘗試此查詢變種q = SessionInstance.Query()。凡(X => x.Records.Any(r => r.Number> = 5)); –
2012-03-13 12:39:13
但這將返回Person.Records.Number> = 5的集合中的任何人員。是否有一個原因,您只是檢查查詢中的第一個項目? – 2012-03-13 12:40:11