0

レビューを保持する次のクラスがあります。

   public class Review
    {
        public string PartitionKey { get; set; }
        public string RowKey { get; set; }
    }

    IEnumerable<Review> review = // Filled with about 1000 reviews

トピックを保持するクラスもあります。

    public class Topics
    {
        public string PartitionKey { get; set; }
        public string RowKey { get; set; }
        public string Topic { get; set; }
    }

    IEnumerable<Topic> topic = // Filled with about 300 topics

Review の RowKeyの最初の6文字は、トピックの RowKey と同じです。どちらの場合も、パーティション キーは空の文字列であり、使用されません。

レビュー クラスには約 1000 のレコードがあり、トピック クラスには 300 のレコードがあります。

LINQ を使用して Review と Topics を組み合わせて、以下の新しいクラスを設定する良い方法はありますか?

 public class ReviewGrid
    {
        public string PartitionKey { get; set; }  // PartitionKey from Review
        public string RowKey { get; set; }  // RowKey from Review
        public string Topic { get; set; }   // This would be the Topic from Topics
    }

LINQ でこれを行うと、作成に長い時間がかかりますが、作成を高速化する方法はありますか?

4

3 に答える 3

1

PartitionKey の結合を探していると思います

var reviewGrids = (from r in review
                   join t in topic on r.RowKey.Substring(0, 6) equals t.RowKey
                   select new ReviewGrid
                   {
                     r.PartitionKey,  
                     r.RoWKey,
                     t.Topic,
                   }).ToList();
于 2012-07-23T18:37:54.560 に答える
0

これを試しましたか?

IEnumerable<ReviewGrid> rivewGrid = (from r in review
                                    join t in topic on r.PartitionKey equals t.PartitionKey
                                    select new ReviewGrid {
                                       PartitionKey = r.PartitionKey,
                                       RowKey = r.RowKey,
                                       Topic  = t.Topic
                                    })AsEnumerable<ReviewGrid>();
于 2012-07-23T18:41:41.763 に答える
0
var reviewGrid = r.Join(t,
                x => x.PartitionKey + x.RowKey.Substring(6),
                y => y.PartitionKey + x.RowKey,
                (x,y)=>new { x.RowKey,x.PartitionKey,y.Topic  } );
于 2012-07-23T18:41:50.320 に答える