Я получил запрос LINQ, который включает две таблицы, в то время как некоторые записи не включены в дочернюю таблицу. Я уже использую GROUP JOIN с DEFAULTIFEMPTY (), и он работал до того, как я добавил таблицу ITM_WH, которая возвращает числовую сумму. Как я могу справиться с этой ошибкой? " Нулевое значение не может быть назначено члену с типом system.Decimal, который является необнуляемым типом значения "? Зная, что использование WH в ci.DefaultIfEmpty (0) не работает. мне нужен столбец "Запас" для переноса значения 0, если запись не существует
вот мой запрос:
Dim result = From B In database.ITEM_BARCODEs
Join i In database.ITEMs On B.ITM_CODE Equals (i.ITM_CODE)
Group Join WH In database.ITM_WHs On i.ITM_CODE Equals
(WH.ITM_CODE) Into ci = Group From WH In ci.DefaultIfEmpty() Join
S In database.SUBGROUPs On i.ITM_SUBGROUP Equals (S.SubGrp_ID)
Join G In database.GROUPs On S.SubGrp_PARENTID Equals (G.GRP_ID)
Group Join P In database.ITEM_PHOTOs On i.ITM_PROFILE Equals
(P.PHOTO_ID) Into co = Group From p In co.DefaultIfEmpty()
Select BarcodeID = B.BARCODE_ID,
code = i.ITM_CODE,
barcode = B.ITM_BARCODE,
Title = i.ITM_TITLE,
Stock = WH.OPENING_QTY + WH.STOCK_IN - WH.STOCK_OUT,
Main_Price = B.ITM_PRICE, Price_lvl_2,
Subgroup = S.SubGrp_Name,
Group = G.GRP_NAME,
photo = p.ITM_PHOTO