Linq to SqlのSumステートメント内のIsNull

isnull linq-to-sql sum
Linq to SqlのSumステートメント内のIsNull

SQLをLinq-to-Sqlに変更しようとしていますが、SQLには次の行があり、変換方法がわかりません。

SUM(Quantity  * IsNull(ExchangeRate,1) * Factor )

それで、私はこれまでにグループ化Linqを次のように書きました。

        var items = from item in _dataContext.GetTable()
                    group item by new {item.Curve}
                    into grp
                    select new Model.Position
                               {

                                   Curve = grp.Key.Curve,
                                   Value = ... "That line here"
                               };
        return item

letキーワードを使用することを考え、grp.Sumを使用してみましたが、クエリにIsNullがあるため苦労しました。

このクエリを変換するヘルプは大歓迎です!

リチャード

  1  0


ベストアンサー

ブラインド(intellisenseなし:D)と入力しますが、次のように動作します。

var items = from item in _dataContext.GetTable()
group item by new { item.Curve } into grp
select new Model.Position
{
    Curve = grp.Key.Curve,
    Value = grp.Sum(i => i.Quantity * (i.ExchangeRate.HasValue ? i.ExchangeRate.Value : 1) * i.Factor)
};

0


タイトルとURLをコピーしました