У меня есть система, которая использует теги для категоризации контента, аналогично способу переполнения стека.Я пытаюсь сгенерировать список самых последних использованных тегов, используя 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
Таблица тегов имеет отношение многие ко многим с таблицей ContentItems.ContentTags объединяет их, каждый кортеж имеет ссылку на Tag и ContentItem.
Я не могу просто использовать отдельный, потому что он сравнивается по Tablename. *, А не Tablename.PrimaryKey, и я не могу реализовать IEqualityComparer, так какэто не переводит на SQL, и я не хочу получать потенциальные миллионы записей из БД с помощью .ToList ().Итак, что мне делать?