2012-04-15 93 views
2

我想寫一個LINQ查詢其填充一個DataGridView:LINQ的「序列運營商不支持的類型」異常

dataGridViewNorthWind.DataSource = (from products in dc.Products where 
     products.ProductName.StartsWith("C") && products.ProductName.Contains('a') 
     select new { products.ProductName, products.Category }); 

但我發現了一個「序列運營商不支持字符串類型」異常。這裏有什麼問題嗎?

PS。任何建設更好的查詢技巧,歡迎,這是我第一次接觸Linq :)

+0

你使用了什麼LINQ提供程序? LINQ to SQL? LINQ to Entities?還有別的嗎?另外,這是整個消息?似乎缺少一些東西。 – svick 2012-04-15 12:37:52

+0

Linq to SQL我認爲雖然說實話我不確定。這兩者之間的確切區別是什麼? – kyooryu 2012-04-15 12:39:06

回答

4

我認爲問題是你不能用你希望的方式使用Contains方法。但是,你可以試試這個,我改變了從char到Contains方法的參數到字符串

dataGridViewNorthWind.DataSource = (from products in dc.Products where 
         products.ProductName.StartsWith("C") && products.ProductName.Contains("a") 
         select new { products.ProductName, products.Category });