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