linq到数据集等效于SQL LIKE子句

Fix*_*ark 2 c# linq

什么是SQL子句的linq等价物WHERE UserName LIKE 'fr_d'

我正在使用内存中的数据集而不是SQL数据库,因此我认为我不能使用类似的东西 where SqlMethods.Like(p.UserName, "Fr_d")

(并不是说我安装的VS2008承认目前存在SqlMethods甚至System.Data.Linq.SqlClient,但那是一个完全不同的问题!)

SLa*_*aks 7

像这样:

table.Where(row => row.StringColumn.StartsWith("prefix"))
Run Code Online (Sandbox Code Playgroud)

(您可能还想打电话ContainsEndsWith)

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

table.Where(p => p.UserName.StartsWith("Fr") && p.UserName.EndsWith("d") && p.UserName.Length == 4)
Run Code Online (Sandbox Code Playgroud)

或者,您也可以在Where子句中放置一个正则表达式.
如果这样做,请确保RegExWhere调用之外创建对象,以便不会为每行解析它.