我有一個客戶id列表,custList(的字符串)。LINQ to Dataset - 相當於sql(where ... in ...)
我想對數據集使用LINQ查詢來獲取客戶表中的所有客戶,其中customerID是「我」custList(字符串)。
這在LINQ中可能嗎?我在網上搜索並沒有找到答案。我是新來的LINQ ..
感謝
我有一個客戶id列表,custList(的字符串)。LINQ to Dataset - 相當於sql(where ... in ...)
我想對數據集使用LINQ查詢來獲取客戶表中的所有客戶,其中customerID是「我」custList(字符串)。
這在LINQ中可能嗎?我在網上搜索並沒有找到答案。我是新來的LINQ ..
感謝
var custList = new HashSet<string>() { "a", "b", "c"...};
from record in table.ToEnumerable()
where custList.Contains(record.Field<string>("customerID"))
在LINQ使用Contains()
方法來執行這些類型的查詢。
我不知道LINQ到數據集,但在LINQ to SQL中,你可以做到以下幾點:
var statuses = new int[] {1, 2, 3};
var query = from p in dataContext.Products
where statuses.Contains(p.Id)
select p;
這應該產生類似於SQL:
select * from Product p
where p.Id in (1, 2, 3)
(注意如何在LINQ代碼中對生成的SQL進行背對背 - 這就是爲什麼如果你很熟悉SQL,它不是很直觀,但它可以非常優雅地使用現有的.NET語言特性)
這通常也適用於string
以及L2S知道的其他一些基本類型的集合,因爲它們在框架中。
var custList = new HashSet<int> { 10, 15, 17 };
CustomerSet.Where(c => custList.Contains(c.CustomerID));
感謝所有爲你的速度迴應!我結束了使用︰Dim query1 = From record In ds.Tables(「Customers」)。AsEnumerable()_ Where lst.Contains(record.Field(Of String)(「custID」)) Select record – novice 2011-01-25 13:00:50
You're歡迎。如果可以的話,請務必提供有用的答案並標記解決問題的答案。 – 2011-01-25 16:23:13