14

私の linq ステートメントの何が問題なのですか?

if (this.selectLBU.HtUsers.Any())
{
    reportRowItems = (from r in reportRowItems
                      from bu in r.User.HtBusinessUnits
                      where bu.LocationBusinessUnitId == selectLBU.LocationBusinessUnitId).ToList();
4

1 に答える 1

25

クエリから必要なデータを指定するには、select句を追加する必要があります。このmsdnの記事では、基本的なクエリの操作と構造について説明します。

 reportRowItems = (from r in reportRowItems
                   from bu in r.User.HtBusinessUnits
                   where bu.LocationBusinessUnitId == selectLBU.LocationBusinessUnitId 
                   select r 
                  ).ToList();

両方のテーブルの組み合わせを取得するには、射影を使用できます。

reportRowItems = (from r in reportRowItems
                   from bu in r.User.HtBusinessUnits
                   where bu.LocationBusinessUnitId == selectLBU.LocationBusinessUnitId 
                   select new {r.AttributeName1, r.AttributeName2, bu.AttributeName1}
                  ).ToList();
于 2012-11-21T08:50:22.780 に答える