я получаю «метод„присоединиться“не поддерживается» сообщение об ошибке в следующей LINQ запроса:Возможно ли это, используя Azure Tables?
tableServiceContext = new CustomTableServiceContext(storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials);
tableServiceContext.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(1));
var results = (from c in tableServiceContext.CreateQuery<ChannelEntry>("Channels").AsTableServiceQuery<ChannelEntry>()
join v in tableServiceContext.CreateQuery<VideoEntry>("Videos").AsTableServiceQuery<VideoEntry>() on c.PartitionKey equals v.ChannelID
join h in tableServiceContext.CreateQuery<HitEntry>("Hits").AsTableServiceQuery<HitEntry>() on v.PartitionKey equals h.VideoID
where c.RowKey.Equals(UserID)
group h by h.RowKey into g
select new BiggestFan { UserID = g.Key, Hits = g.Count() }).AsTableServiceQuery().Execute().OrderByDescending(b => b.Hits).Take(1);
Если «присоединиться» не поддерживается в этом контексте то, что будет наиболее эффективным способом сделать мой запрос?
У меня есть каналы, которые составлены из видео, которые, в свою очередь, имеют Hits. Я пытаюсь найти самый большой поклонник (самые высокие удары) текущего пользователя.
Что было бы самым эффективным способом сделать этот тип этого без использования объединений? Должен ли я захватить все Каналы, а затем Видео, а затем Хит, как 3 отдельных вызова в хранилище таблиц, а затем сделать соединения после этого?
Для дальнейшего использования здесь приведен список поддерживаемых/неподдерживаемых операторов Linq для хранения таблиц: http://msdn.microsoft.com/en-us/library/windowsazure/dd135725.aspx –