LINQ дает ошибку при использовании ниже LINQLINQ к объектам десятичную нулевые значения из внешнего соединения
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() ;
Актерский к типу значения System.Decimal
не удалось, так как материализованная значение равно нулю. Либо общий параметр типа результата, либо запрос должны использовать тип с нулевым значением.
Если я удалю invp.stock из выбранного его действия, как я могу по умолчанию invp.stock равняться 0, если он равен нулю.
Спасибо..Но он дает ошибку компилятора Op erator '??' не может применяться к операндам типа «decimal» и «int» – user3658516
О, извините, это не может быть принято в текущем MVC 4. –
Я думал, что «случай, когда» будет лучшим решением в SQL для этого случая, но поскольку вы используете LINQ. Это может быть немного сложно. –