Кажется, это работает для меня. Продукт - это родитель, а ингредиент - ребенок. Надеемся, он найдет все продукты, которые содержат данный ингредиент. Однако я не смог проверить это полностью.
public IList<Product> GetProductsWithIngredient(Ingredient ingredient)
{
using (ITransaction transaction = session.BeginTransaction())
{
ICriteria criteria = session.CreateCriteria<Product>();
criteria.CreateCriteria("Ingredients")
.Add(Restrictions.Eq("GUID", ingredient.GUID));
return criteria.List<Product>();
}
}
Надеюсь, это поможет:)
ПРИМЕЧАНИЕ. GUID - это мой уникальный идентификатор.
РЕДАКТИРОВАТЬ: Я только что проверил это с более чем одним продуктом, и, кажется, возвращает правильный продукт. Благодаря zoidbeck .