我很熟悉在Linq to SQL中執行簡單的多對多關係(即簡單連接),但我現在很難考慮。Linq to SQL - 多對多謂詞
我有三個表(以及我的Linq-to-SQL模型中的實體)表示分類系統。標準問題真的:
產品 - ProductTags - 標籤
我正在寫返回一組產品,他們所在的標籤的查詢相匹配的方法。因此,如果有人搜索「foo」,則將返回所有分配了「foobar」或「fooqux」(但不是「bazbar」)標籤的產品。
我知道我必須將查詢結構分爲兩部分:首先獲取匹配的標籤,然後獲取具有這些標籤的產品。這是我難住的第二部分。
這裏是我到目前爲止有:
var tags = from t in db.Tags
where t.Name.Contains(tagSearchQuery)
select t;
var products = from p in db.Products
// then a miracle happens
select p;
援助非常感謝:)