我正在使用動態LINQ(System.Linq.Dynamic)(你可能在這裏找到描述,http://dynamiclinq.azurewebsites.net/GettingStarted)。在System.Linq.Dynamic.Select()中,如何以簡單的方式處理空對象引用?
下面的語句適用
Products.Select("new(ProductName, CategoryID.CategoryName as CategoryName)");
但我無意中發現,當類別ID爲空,結果是空的。但我認爲它會返回如下記錄:
ProductName =「Wine」,CategoryName =「」(或null)。
然後我找到了一種方法來做到這一點通過
Products.Select("new(ProductName, iif(CategoryID==null,\"\",CategoryID.CategoryName) as CategoryName)");
聲明是醜陋的。
你有更好的解決方案嗎?
謝謝你在前進,
「new(ProductName,CategoryID == null?null:CategoryID.CategoryName)as CategoryName)」working。正如Cory提到的那樣,使用null似乎更簡單一些。 – Ying
更難看的示例是:grand == null?null:(grand.parent == null?null:grand.parent.son)。 – Ying