2010-12-09 70 views
0

我有一個名爲Country的字段。 現在我必須根據匹配的國家過濾記錄。Linq to Entity中多個國家的lambda表達式

當我必須過濾單個國家的記錄時,我使用下面的lambda表達式。

string strCountry = "USA"; 
var data = entities.Documents.Where(p => p.Country == strCountry); 

現在我有以下列表的國家。我想知道如何過濾這個Contry列表的記錄。

List<string> strCountry = new CacheUser().GetUserCountry(); 

欣賞您的回覆。

感謝

回答

2

嘗試:

List<string> countries = ...; 
var data = entities.Documents.Where(p => countries.Contains(p.Country)); 

這將導致SQL的 「IN」 的查詢。但是,您應該意識到,一旦獲得大量列表中的國家/地區,這可能會失敗。我認爲你不能用連接來做到這一點呢?國家名單隻在客戶端知道?