我有一個關於使用實體框架的問題。避免空對象參考實體框架
我想訪問與另一個模型連接的模型的屬性。 但是,如果「父」對象是空的,??操作員不起作用。
例如: 我的客戶模型裏面有公司模型。 我想訪問Customer.Company.Name屬性。在Customer對象爲空的情況下,我得到空對象reff錯誤。
Sample of accessing the property on null object
如果對象是空我想它返回「」。 一種解決方案是寫喜歡獨來獨往代碼:
(Customer!=null) ? ((Customer.Company!=null) ? Customer.Company.Name ?? "" : "") : ""
我知道這是不是乾淨的方式,但如果有喜歡的一個解決方案會有不錯?它也檢測父對象中的null。
[C#6](https://msdn.microsoft.com/en -us/magazine/dn802602.aspx)介紹了一個?運算符 –
您對乾淨解決方案的答案是null操作符(http://www.informit.com/articles/article.aspx?p=2421572)。不幸的是,它自C#版本6開始就可用。否則,你沒有別的辦法可以替代你已經寫過的東西,這意味着檢查每個父母是否爲空 – jambonick
@jambonick嗯,你確實有*一些*選擇。你可以寫一些有點像'?'的輔助方法,比如說。 – Rawling