2012-09-17 27 views
0

我想檢查一個字段是否爲空或空。Linq使用IsNullOrEmpty

我有以下腳本:

return db.Clients.Where(a => string.IsNullOrEmpty(a.ClientName) == false) 
        .OrderBy(a => a.ClientName); 

似乎按預期方式工作。我想知道以上是最有效率的,或者可能有一些gottchas我可能沒有意識到使用我以上的可能導致問題的東西。

+0

您使用的是EF還是LINQ2SQL –

回答

1

AFAIK,String.IsNullOrEmpty不能被翻譯,因此它可以更快地手動檢查空和空手動和單獨。

+0

這是什麼意思* String.IsNullOrEmpty無法翻譯*?如果你提供代碼會很好。 –

+0

對不起,寫在我的手機上,我的意思是str!= null && str.Length> 0 – StrubT

+0

所以,我回到了我的筆記本電腦上。我的意思是以下內容:根據您的標記,我認爲您使用的是Linq2SQL,如果是這樣,庫不會將此函數轉換爲SQL,而是從db中選擇所有行並在代碼中執行過濾器。如果你寫'str!= null && str.Length> 0',它可以被轉換爲'str不是null並且len(str)> 0'。 – StrubT