LINQ donnant une erreur en utilisant le dessous LINQà des entités LINQ valeurs décimales nulles de jointure externe
var data = (from p in _context.Products
from invp in _context.Inventories
.Where(inv=>inv.Product.ID== p.ID)
.DefaultIfEmpty()//left outer join
select new { p.ID, p.Name, p.BarCode, p.ProductCategory, p.MRP, p.RetailPrice,stock=invp.Stock }).ToList() ;
La distribution à la valeur de type System.Decimal
a échoué parce que la valeur matérialisée est nulle. Le paramètre générique du type de résultat ou la requête doit utiliser un type Nullable.
Si je supprime invp.stock de la sélection, il fonctionne, comment puis-je par défaut invp.stock à 0 si elle est nulle.
Merci..Mais il donne erreur de compilation Op erateur '??' ne peut pas être appliqué aux opérandes de type 'decimal' et 'int' – user3658516
Oh désolé, cela peut ne pas être accepté dans MVC 4. –
Je pensais que 'case when' serait une meilleure solution dans SQL pour ce cas mais comme vous utilisez LINQ. Cela pourrait être un peu difficile. –