C# 林奇;“类型”不支持序列运算符;例外

C# 林奇;“类型”不支持序列运算符;例外,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我正在尝试编写一个linq查询来填充dataGridView: dataGridViewNorthWind.DataSource = (from products in dc.Products where products.ProductName.StartsWith("C") && products.ProductName.Contains('a') select new { products.ProductName, products.

我正在尝试编写一个linq查询来填充dataGridView:

dataGridViewNorthWind.DataSource = (from products in dc.Products where 
         products.ProductName.StartsWith("C") && products.ProductName.Contains('a') 
         select new { products.ProductName, products.Category });
但我得到了一个“类型字符串不支持序列运算符”异常。这里怎么了


注:欢迎提供任何关于构建更好查询的建议,这是我第一次接触Linq:)

我认为问题在于你不能按照你希望的方式使用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 });

我认为问题在于你不能按你所希望的方式使用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 });

您使用的是哪种LINQ提供程序?LINQ到SQL?LINQ到实体?还有别的吗?还有,这就是全部信息吗?似乎缺少了一些东西。Linq to SQL我想,老实说,我不确定。这两者的确切区别是什么?您使用的是哪种LINQ提供程序?LINQ到SQL?LINQ到实体?还有别的吗?还有,这就是全部信息吗?似乎缺少了一些东西。Linq to SQL我想,老实说,我不确定。这两者的确切区别是什么?