NHibernate: Rzutowanie kryteriów / kryteriów podrzędnych
Mam klasę Mod, która ma członka:
ICollection<Event> EventList
Wydarzenie klasy ma członka:
public virtual EventType Type { get; set; }
Klasa EvenType ma członka:
public virtual int Id
Chcę uzyskać listę wszystkich zdarzeń w Mod, które mają identyfikator 1 lub 2 przy użyciu kryteriów NHibernate. Ja to zrobiłem:
var subCriteria = DetachedCriteria.For<Mod>()
.Add(Restrictions.In("Event.Type", new int[] {1, 2 })
);
criteria.Add(Subqueries.Exists(subCriteria));
ale otrzymuję komunikat o błędzie czasu wykonywania Nie można używać podkwerend na kryterium bez projekcji.
W porządku, ale nie wiem, co umieścić w projekcji. Mogę znaleźć przykłady, jak robić projekcje, ale nic, co naprawdę wyjaśnia cel. Próbowałem różnych rzeczy, ale wszystkie powodują błąd wykonania:
Komunikat: Wartość nie może być pusta. Nazwa parametru: klucz Źródło: mscorlib Pomoc link: ParamName: klucz
Muszę użyć podzapytania, ponieważ dodam więcej, gdy to zadziała.
Czy możesz zasugerować, co zrobić w przypadku projekcji?