У меня есть две таблицы, подписки и темы. Каждая подписка связана с определенным TopicID (PK для таблицы тем). Первый запрос работает нормально и возвращает topicID всех видео, которые были загружены сегодня.
Проблема возникает, когда я пытаюсь и затем использую результаты query1 как предложение where для запроса 2. Я продолжаю получать ссылку на объект, не установленную для экземпляра объекта.
Запрос 1
IQueryable<int> topics = (from t in dataLayer.Videos
where SqlMethods.DateDiffDay(t.DateCreated, DateTime.Today) == 0
select t.TopicID).Distinct();
Запрос 2 (сбой)
IQueryable<Subscription> subs = from s in dataLayer.Subscriptions
where topics.Contains(s.TopicID)
select s;
Запрос Linq, генерируемый при сбое, равен {Table(Subscription).Where(s => value(EmailSubscribers+<>c__DisplayClass0).topics.Contains(s.TopicID))}
Любое понимание этого будет оценено. Я посмотрел на некоторые образцы в сети, и все они, похоже, идентичны моим.