Я использую c #, linq и EF4.
В моей базе данных есть две таблицы, представленные в моей концептуальной модели:
Таблицы базы данных:
CmsContents
CmsRelatedContents (Junction table)
Тип объекта:
CmsContent
У меня есть некоторые навигационные свойства:
for CmsContent --> CmsContents --> Return Collection of CmsContent --> from role: CmsContent1 to CmsContent (map ToContentId)
for CmsContent --> CmsContents1 --> Return Collection of CmsContent --> from role: CmsContent to CmsContent1 (map FromContentId)
Представлены данные в базе данных для соединительной таблицы (CmsRelatedContents):
FromContentId ToContentId
4 3
5 2
В таблице CmsContents:
ContentId
2
3
4
5
Мне нужно использовать Linq или EF для получения Objects in CmsContent
, связанного в столбце ToContentId
, фильтрующего таблицу соединений для определенного FromContentId
У вас есть идея, как это сделать?
Пожалуйста, предоставьте мне пример кода. Спасибо за вашу помощь в этом!
РЕДАКТИРОВАТЬ: РЕШЕНИЕ
// Option A:
var test = from cnt in context.CmsContents
where cnt.CmsContents.Any(t => t.ContentId == contentId)
select cnt;
// Option B:
var toContents = context.CmsContents.Where(r => r.CmsContents.Any(t => t.ContentId == contentId));
Спасибо, ребята, за вашу поддержку!