저는 채널과 비디오를 함께 유지하기 위해 비정규 화 된 Windows Azure Table Called ChannelsVideos를 보유하고 있습니다. 에 PartitionKey는 그래서 같은 종류와 채널의 제목으로 구성되어 있습니다 :Windows Azure 테이블 CompareTo가 작동하지 않습니다.
비즈니스 일부 채널 제목 종교 - 또 다른 채널 제목
내가 사용하는 -을 구분하는 문자를 "".
"행"이 채널 또는 비디오 항목인지 여부를 나타내는 채널 또는 비디오 중 하나 인 유형 속성이 있습니다.
내가 겪고있는 문제는 특정 사용자의 채널 수를 세는 것입니다. 다음과 같은 내용의 진술을 가지고 있습니다.
return (from g in tableServiceContext.CreateQuery<ChannelVideoEntity>(Enums.Tables.ChannelsVideos.ToString())
where g.PartitionKey.CompareTo(categoryAndUser.CategoryID + "-") >= 0
&& g.Kind.Equals(Enums.TableKinds.Channel.ToString())
&& g.UserID.Equals(categoryAndUser.Key)
select g).AsTableServiceQuery().Execute().Count();
실제로 일어나는 현상은 채널의 동영상도 계산되고 있다는 것입니다. 왜 그런가요? 예를 들어 채널을 만들고 4 개의 동영상을 추가하는 경우 위의 성명에서 반환되는 채널 수는 5입니다. 채널 수와 채널과 연결된 4 개의 동영상 수를 계산하기 때문에 채널 수는 5입니다. 원하는 채널 수는 1이어야합니다.
내가 뭘하거나 안하는 사람이 볼 수 있습니까? compareTo를 잘못 사용하고 있는데 어떻게 사용해야합니까?
안녕하세요. 입력 해 주셔서 감사합니다. 불행히도 당신이 제안하는 접근법은 사실 이후입니다. 내가하려는 일은 Azure 테이블에 질의와 일치하는 레코드를 찾아 반환하는 작업을 Azure 테이블에 맡기는 것입니다. 즉, 결과를 반환하기 전에 다른 부분을 원합니다. –