Мне очень тяжело с этим. У меня есть свойство Navigation под названием Attachment, которое является частью сущности с именем ContentChannel. ContentChannel - это отношение один к одному с KioskType.
В моем классе расширения доменной службы у меня есть следующий запрос:
public IQueryable<ContentChannel> GetContentChannelFromKioskType( long kioskTypeID )
{
var returnSet = (from cc in ObjectContext.ContentChannels.Include( "Attachment" )
join pcc in ObjectContext.PublishedContentChannels on cc.ContentChannelID equals pcc.ContentChannelID
where pcc.KioskTypeID == kioskTypeID
select cc);
return returnSet;
}
И это прекрасно работает для возврата списка ContentChannels. Но вложение в каждом ContentChannel равно нулю.
Я пытался [Include]
в свойстве attachment в моем классе метаданных ContentChannel в сочетании с ContentChannels.Include("Attachment")
в приведенном выше запросе - не повезло, Attachment всегда имеет значение null.
Я выкопал больше, а затем нашел что-то, чтобы явно загрузить мой дочерний элемент:
ObjectContext.LoadProperty( returnSet, "Attachment" );
Но это приводит к следующей ошибке:
Невозможно явно загрузить свойство для отсоединенных объектов. Объекты, загруженные с использованием опции слияния NoTracking, всегда отсоединяются.
Это из-за того, что я делаю соединение, что все шатко, а Включить не работает? Что мне нужно сделать? Эти вложения должны быть загружены, когда я получу ContentChannel!
Есть мысли?