0
我是nhibernate的新手,試圖在數據庫上創建一個查詢項目和類別之間的manytomany鏈接。nhibernate manytomany查詢
我有3個表數據庫:項目,分類和查找表categoryitem這樣的:
的categorys - 主鍵的categoryId
項目 - 主鍵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>;
}
我只有類別和項目的業務對象。 我如何創建一個存儲庫方法來查找特定類別的項目?
是的,它就是這樣。我會嘗試。經過一些搜索,我發現這似乎也產生了我想要的結果,但不知道它的最佳實踐var itemIdsCriteria = DetachedCriteria.For(typeof(Item))。CreateCriteria(「Categories」)。SetProjection(Projections.Distinct(Projections。 Property(「Id」)))。Add(Restrictions.Eq(「Id」,category.Id)); //附加主標準,像這樣criteria.Add(Subqueries.PropertyIn(「Id」,itemIdsCriteria)); – user900566