[英]linq to dataset equivalent of SQL LIKE clause
SQL子句(如WHERE UserName LIKE 'fr_d'
)的linq等效项是什么?
我正在使用内存中的数据集而不是SQL数据库,所以我认为我无法使用像where SqlMethods.Like(p.UserName, "Fr_d")
(并不是说我的VS2008安装程序承认目前存在SqlMethods甚至System.Data.Linq.SqlClient,但这就是一个完全不同的问题!)
像这样:
table.Where(row => row.StringColumn.StartsWith("prefix"))
(您可能还想调用Contains
或EndsWith
)
编辑 :在您的情况下,您想要
table.Where(p => p.UserName.StartsWith("Fr") && p.UserName.EndsWith("d") && p.UserName.Length == 4)
另外,您也可以将正则表达式放在Where
子句中。
如果这样做,请确保在Where
调用之外创建RegEx
对象,以免对每一行都进行解析。
我相信这就是您真正想要的。 它将允许Fr { 任何一个字符 } d:
table.Where(p => p.UserName.StartsWith("Fr") && p.UserName.EndsWith("d") && p.UserName.Length == 4 )
不幸的是,我找不到任何类似于LINQ to Dataset的SQL like子句的东西。
更新:在这里找到一个类似的帖子: LINQ vs. DataTable.Select-如何获得相同的结果?
他们建议使用我不熟悉的i4o ,但可能值得调查(该问题的提问者接受了i4o作为答案)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.