c# - 像 Linq to DataTable 中的运算符?

标签 c# linq linq-to-dataset

我正在使用 Linq to DataTable。我如何在 where 子句中应用 like 运算符。我想像 SQL 中的 like 运算符一样对数据进行搜索。

我搜索并尝试了以下代码,但出现错误:Method 'Boolean Like(System.String, System.String)' cannot be used on the client;它仅用于转换为 SQL。

var details = from addresses in dt.AsEnumerable() 
    where SqlMethods.Like(prefixText, prefixText + "%") || SqlMethods.Like(prefixText, "%" + prefixText + "%")
    select (string) addresses["Details"];                      

return details.ToArray();

最佳答案

您最好的选择可能是将其重写为正则表达式以供使用

where yourRegex.IsMatch(row.SomeValue)

或者如果它只是以查询开头:

where row.SomeValue.StartsWith(prefix)

关于c# - 像 Linq to DataTable 中的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463668/

相关文章:

c# - C# 中的互相关代码

c# - 用于存储过程的 SqlBulkCopy

c# - 反射(?) - 检查类中每个属性/字段的空值或空值?

c# - 如何将此 linqTOsql 查询转换为 lambda

c# - 使用 var 匿名对象为 LINQ 获取 InvalidCastException

c# - 如何在Asp.net 中使用Ext.Net RadioGroup 控件?

c# - 对 LINQ 语句进行逆向工程

c# - 组合字符串时方法语法中的 Where 子句失败

c# - 使用 linq.. 将通用列表转换为数据表?

c# - Linq 查询按组求和