Я пытаюсь получить все @events, где есть FiscalYear.id
в IList<int> years
. Я использую any()
но бросает следующее сообщение об ошибке: StackTraceИспользование любого, чтобы проверить список в NHibernate
Unrecognised method call:
System.Linq.Enumerable:Boolean Any[TSource](System.Collections.Generic.IEnumerable`1[TSource], System.Func`2[TSource,System.Boolean])
Есть идеи? Вот код:
FindAllPaged(int eventTypeId, IList<int> aors, IList<int> years)
{
IList<Domain.Event> results =
session.QueryOver<Event>()
.Where(@event => [email protected] &&
@event.EventType.Id == eventTypeId &&
years.Any(y => y == @event.FiscalYear.Id))
}
Использования содержит броски ту же ошибку – Mike
получил эту ошибку прямо сейчас: 'The лучшего перегруженный метод матч для«NHibernate.Criterion.Lambda.LambdaRestrictionBuilder .IsIn (System.Collections.ICollection) 'имеет некоторые недопустимые аргументы \t ' – Mike
@Mike Okay Я некоторое время был в тупике, пока не понял, что' List 'реализует' ICollection', но 'IList ' не делает. Если вы измените свой параметр 'years' на' List 'или' int [] ', или если вы просто назовете' years.ToList() 'или' years.ToArray() ', он должен работать. –