0

Linq で深刻な問題が発生しています。私は単純なSQLクエリを持っています:

 select 
    intMiesiac, 
    intRok, 
    Sum(intIn) as 'In',
    Sum(intOut) as 'Out' 
from dbo.GlobalDane 
where intRampNr=1 
group by intMiesiac, intRok

指定した intRampNr の in と out の合計を照会し、それを月と年でグループ化したいと考えています。
linq で非常にさまざまなクエリを試しましたが、クエリの結果を gridview のデータソースに入れてデータソースをバインドすると、失敗するか、空のセルしか表示されません。
C#でlinqで同じステートメントを作成するにはどうすればよいですか?

4

2 に答える 2

2

次のようなものがあなたのためにそれを行います:

var results = 
    dataContext.GlobalDanes
    .Where(gd => gd.intRampNr == 1)
    .GroupBy(
        gd =>
            new 
            {
                 gd.intMiesiac,
                 gd.intRok,
            })
    .Select(
        grp =>
            new 
            {
                grp.Key.intMiesiac,
                grp.Key.intRok,
                In = grp.Sum(gd => gd.intIn),
                Out = grp.Sum(gd => gd.inOut),
            });
于 2012-07-10T22:50:24.383 に答える
1

クエリ構文でも

from a in db.GlobalDane
where a.intRampNr == 1 
group a by new { a.intMiesiac, a.intRok, } into g 
select new 
{ 
    g.Key.intMiesiac,
    g.Key.intRok, 
    In = g.Sum(X => X.intIn),
    Out = g.Sum(X => X.inOut),
};
于 2012-07-10T23:02:14.523 に答える