繁体   English   中英

linq等于SQL LIKE子句的数据集

[英]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"))

(您可能还想调用ContainsEndsWith

编辑 :在您的情况下,您想要

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM