我使用連接並選擇查詢以傳遞特定實體的動態值,某些字段在數據庫中爲空。所以我檢查條件!=null
條件,但如果我使用該字段,整個select語句會拋出錯誤。問題檢查使用linq查詢的空條件
我的代碼如下,
@placementId is as input value
IEnumerable<Submission> sub= from cc in confirmedCarrierRepository
join cs in carrierSubmissionRepository on cc.ConfirmedCarrierID equals cs.ConfirmedCarrierID
where cr.PlacementID == placementId
//orderby c.panel is missed
select new SubmissionEntity
{
PlacementId = placementId,
//The ComissionId is null in db,
CommissionId = cs.CommisionID.HasValue ? cs.CommisionID.ToString() : string.Empty
}
另一種方式:
CommissionId= cs.CommisionID!=null ? cs.CommissionID : new int()
我不明白爲什麼。即使我檢查null條件也是如何可能整個選擇將無法正常工作。請幫我找出答案。
什麼是新的INT(),這是值類型,然後初始化像一個引用類型,還什麼是「cs.CommisionID.HasValue」這樣做,也不會似乎是正確的。我可以理解cc,它是confirmCaarRepository,但是什麼是cs,你需要提供完整的代碼 –
如果你想排除空的cs.CommisionID,那麼使用where子句,而不是你所做的,因爲這仍然會選擇所有的值,只是空值將被替換爲空字符串 –
編輯我的問題。但是我正在檢查提交的內容是否爲空。它怎麼可能由哪裏條件檢查。如果有任何值應該返回,但沒有錯誤返回。 – PoliDev