私は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クエリを持っています。
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]、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を返します。クエリの最初の項目だけをチェックしていたのはなぜですか? –