我有一個系統使用標籤來對內容進行分類,類似於Stack Overflow的方式。我正在嘗試使用LINQ to SQL生成最近使用的標記列表。在主鍵上使用不同的LINQ to SQL
(from x in cm.ContentTags
join t in cm.Tags on x.TagID equals t.TagID
orderby x.ContentItem.Date descending select t)
.Distinct(p => p.TagID) // <-- Ideally I'd be able to do this
Tags表與ContentItems表具有多對多的關係。 ContentTags加入它們,每個元組都有一個對Tag和ContentItem的引用。
我不能僅僅使用distinct,因爲它比較Tablename. *而不是Tablename.PrimaryKey,而且我不能實現一個IEqualityComparer,因爲它不會轉換爲SQL,而且我也不想將潛能使用.ToList()從數據庫中記錄數百萬條記錄。所以我該怎麼做?