2014-09-04 19 views
0
var Data = (from s in _context.PRD_RecipeItem.AsEnumerable() 
      where s.RecipeID == _RecipeID 
      from i in _context.Sys_ChemicalItem.Where(x => x.ItemID == s.ItemID).DefaultIfEmpty() 
      from u in _context.Sys_Unit.Where(x => x.UnitID == s.UnitID).DefaultIfEmpty() 
      from st in FinalStock.AsEnumerable().Where(x => x.ItemID == s.ItemID).DefaultIfEmpty() 
      from sup in _context.Sys_Supplier.Where(x => x.SupplierID == (st==null? 0: st.SupplierID)).DefaultIfEmpty() 
      select new PRDChemProdReqItem 
      { 
       ItemID = s.ItemID, 
       ItemName = (i == null ? null : i.ItemName), 
       RequiredQty = s.RequiredQty, 
       RequiredUnit = s.UnitID, 
       RequiredUnitName = (u == null ? null : u.UnitName), 
       RequsitionQty = s.RequiredQty, 
       ApproveQty = s.RequiredQty, 
       ApproveUnit = s.UnitID, 
       ApproveUnitName = (u == null ? null : u.UnitName), 
       PackSizeName = "", 
       PackQty = 0, 
       SizeUnitName = "", 
       RequisitionUnit = s.UnitID, 
       RequisitionUnitName = (u == null ? null : u.UnitName), 
       StockQty = (st == null ? null : (Math.Round(Convert.ToDecimal(st.ClosingQty), 2)).ToString()), 
       SupplierID = (st == null ? 0 : st.SupplierID), 
       SupplierName = (sup == null ? null : sup.SupplierName), 
       ItemSource = "Via Requisition" 
      }).ToList(); 

這是我的代碼。當stnull,那麼我得到System.Reflection.TargetException類型的例外。如何解決這個問題。提前致謝。如何通過LINQ連接多個表時檢查null?

+0

@ har07如何強調那些話?我想下一次做。謝謝。 – 2014-09-04 10:39:09

+0

用反引號包起單詞 – har07 2014-09-04 10:41:55

回答