1

我有一个DataSet名为PName,PCode和的列PDesc。无论如何我可以根据类似的查询设置我的数据源

gridview.DataSource = Get me everything where PName LIKE 'somevalue' 
                      OR PCode LIKE 'somevalue' 
                      OR PDesc LIKE 'somevalue'

我试图找到有关使用 LINQ 的信息,但我没有看到任何 OR's ,这可能吗?我将不胜感激任何指针/帮助。

4

2 回答 2

1

您可以在 Where 子句中使用逻辑 OR 运算符 ( ||)。没有 LIKE 函数,但您可以使用string函数BeginsWithEndsWithContains(取决于您使用 LIKE 的方式)完成类似的操作:

where ("somevalue".Contains(PName) || 
       "somevalue".Contains(PCode) ||  
       "somevalue".Contains(PDesc) )
于 2012-09-13T02:01:57.737 回答
1

你可以试试这个:

gridview.DataSource = from d in DataSetVar.Tables[0].AsEnumerable()
                  where d.Field<string>("PName").IndexOf("stringToFind1") >= 0 ||
                  d.Field<string>("PCode ").IndexOf("stringToFind2") >= 0 ||
                  d.Field<string>("PDesc").IndexOf("stringToFind3") >= 0
                  select d;

此外,AsEnumerable 是 System.Data.DataSetExtensions 库的一部分。

于 2012-09-13T02:06:22.600 回答