2
好吧,另一個LINQ問題。如何使用LINQ做「IN」條件。我有一個IEnumerable myObject列表,並希望在('Help','Admin','Docs')中執行類似myObject.Description的操作。我怎樣才能做到這一點?由於在使用LINQ的情況下
好吧,另一個LINQ問題。如何使用LINQ做「IN」條件。我有一個IEnumerable myObject列表,並希望在('Help','Admin','Docs')中執行類似myObject.Description的操作。我怎樣才能做到這一點?由於在使用LINQ的情況下
在SQL相當於在LINQ Contains
string[] countries = new string[] { "UK", "USA", "Australia" };
var customers =
from c in context.Customers
where countries.Contains(c.Country)
select c;
對集合使用Contains
:
string[] descriptions = { "Help", "Admin", "Docs" };
var query = from foo in list
where descriptions.Contains(foo.Description)
select ...;
(對於較大的集合,一個HashSet<T>
可能會更好)
會HashSet適用於除LINQ之外的任何提供程序嗎? –
2011-03-28 11:47:35
@Ian:我不確定'HashSet'。許多提供程序允許在執行時使用列表或數組,在SQL中轉換爲「IN」子句。儘管如此,它仍然是提供商。 –
2011-03-28 18:35:39