IsNull all'interno dichiarazione Somma in Linq to Sql
-
27-09-2019 - |
Domanda
Sto cercando di cambiare un po 'di SQL in LINQ to SQL, però ho la seguente riga in SQL che non so come convertire:
SUM(Quantity * IsNull(ExchangeRate,1) * Factor )
Così ho finora scritto il Linq raggruppamento come segue:
var items = from item in _dataContext.GetTable<Trade>()
group item by new {item.Curve}
into grp
select new Model.Position
{
Curve = grp.Key.Curve,
Value = ... "That line here"
};
return item
Ho pensato di utilizzare la parola chiave let, e cercò con grp.Sum hanno lottato come non c'è l'IsNull nella query.
Qualsiasi aiuto convertire questa query sarebbe molto apprezzato!
Richard
Soluzione
Typing cieco (senza intellisense: D), ma il seguente dovrebbe funzionare:
var items = from item in _dataContext.GetTable<Trade>()
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)
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow