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?

questionAnswers(1)

yourAnswerToTheQuestion