Я новичок в nhibernate и пытаюсь создать запрос к базе данных с множеством ссылок между элементами и категориями.
У меня есть база данных с 3 таблицами: элементы, категории и элемент категории таблицы поиска, подобный этому:
категорий - первичный ключ categoryId
items - первичный ключ itemId
categoryItem - столбец categoryIdи столбец itemId
Я хочу запрос, возвращающий элементы для определенной категории, и пробовал это, и думаю, что я в правильном направлении:
public IList<Item> GetItemsForCategory(Category category)
{
//detached criteria
DetachedCriteria itemIdsCriteria = DetachedCriteria.For(typeof(Category))
.SetProjection(Projections.Distinct(Projections.Property("Item.Id")))
.Add(Restrictions.Eq("Category.Id", category.Id));
criteria.Add(Subqueries.PropertyIn("Id", itemIdsCriteria));
return criteria.List<Item>() as List<Item>;
}
У меня есть толькобизнес-объекты для категории и позиции.Как создать метод репозитория для поиска элементов для определенной категории?