С этим ответом я предполагаю, что у вас настроены таблицы, подобные приведенным ниже, имена не очень хороши, просто для иллюстрации:
AnEntity: Id, Name
ATag: Id, TagName
EntityTag: EntityId (от FK до AnEntity.Id), TagId (от FK до ATag.Id)
Вы можете попробовать это:
var entityTags = from ent in theEntities
from enttags in ent.EntityTags
group enttags by enttags.AnEntity into entityGroup
select new { TheEntity = entityGroup.Key, TheTags =
from t in entityGroup
select t.ATag.TagName };
У меня не было возможности проверить это, я сделаю снимок сегодня днем и отредактирую его, если это будет необходимо. То, что здесь происходит, это SelectMany. 'From ent in dc.AnEntities' получает все записи сущностей, затем следующий 'from enttags in ent.EntityTags' получает все записи тегов сущностей для каждой сущности. Группировка по делает это, группирует записи EntityTag по AnEntity. Поместите их в анонимный тип, и все готово.
РЕДАКТИРОВАНИЕ:
Хорошо, изменил код выше, теперь работает. Прежде чем вы получили список объектов EntityTag, теперь вы получаете объект Entiy и список строк (тегов) для этого объекта.