0

関連する 3 つのテーブルがあります。

    Letter(Id,Name)

    SendLetter(Id,LetterId)

    ReciveLetter(Id,SendLetterId,Type,User)

SenLetterIdGroup By &の ReciveLetter のレコードを取得したいType

このクエリを使用します。

    var dashbord = from d in db.ReceiveLetter
                            where (d.SendLetter.LetterId == LetterId)
                            group d by new { d.SendLetter, d.SendType } into g
                            select new Items{ ...... };

SendLetterId と Type で項目をグループ化したものです。グループ化されたアイテムごとに UserName の結合を選択したい。

例えば:

    SendLetter:
    1   1   
    2   1      

    ReciveLetter:
    1   1    Type1   A
    1   1    Type1   B
    1   1    Type2   C
    1   2    Type1   D
    1   2    Type1   E

    Result:
    1    1   Type1  A,B
    1    1   Type2  C
    2    1   Type1  D,E
4

2 に答える 2

0

私はこのようなことを試みます(これはあまり最適化されていないかもしれません):

var q=(..//
).GroupBy(x=>new {x.SentLetterType, x.Type});

foreach(var group in q)
{
  foreach(var result in group)
  {
   string sUsername+=result.Username+",";
  }
}
于 2013-09-16T07:59:36.080 に答える