2010-04-07 34 views
0

我有幾列,我想搜索。我的代碼可能無法傳遞任何給定的列進行搜索。因此,對於以下示例,姓氏或名字可能是空字符串。每當我用一個空字符串搜索一列時,它就會擾亂查詢。我已經通過檢查它是否爲空字符串來解決問題,如果它是反查的話。然而,我有很多專欄來搜索,所以如果/ thens會讓很多東西變得雜亂無章。有關如何最佳實施的建議?linq到XML查詢與潛在的空參數傳遞

refinedresult = From x In theresult _ 
         Where x.<lastname>.Value.ToLower.Contains(LastName.ToLower.Trim) Or _ 
         x.<givenname>.Value.ToLower.Contains(FirstName.ToLower.Trim) Or    _ 
         Select x 

回答

0

可以構建對執行比較,並返回一個布爾值的x類型的擴展方法。該方法應該將引用字符串與之比較。如果x爲null,則僅從擴展方法返回false

能夠在空引用上調用擴展方法並且優雅地處理情況非常強大。

+0

我沒有很好的工作,但我認爲你讓我走上正軌。謝謝。 – 2010-04-08 13:24:57