像LINQ中的条件一样

Mik*_*ebb 4 linq sql-like

我对LINQ比较陌生,不知道如何做一个Like条件.我有一个IEnumerable的myObject列表,想要做像'Help%'这样的myObject.Description.我怎么能做到这一点?谢谢

Mat*_*nen 5

通常,您会使用与查询外完全相同的语法。

myObject.Description.StartsWith("Help")
Run Code Online (Sandbox Code Playgroud)

但是,这是否真正有效取决于您在哪里使用LINQ(虽然它可以作为代码运行,在这种情况下一切正常,或者转换为其他类似的东西(例如SQL,可能会有限制)),但是始终值得一试。


Las*_*olt 5

看这里:

http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/16/linq-to-sql-like-operator.aspx

片段:

StartsWith并且Contains:

var query = from c in ctx.Customers
            where c.City.StartsWith("L") && c.City.Contains("n")
            select c;
Run Code Online (Sandbox Code Playgroud)

如果您应该将它与LINQ to SQL一起使用(不适用于LINQ to Objects):

自定义LIKE(System.Data.Linq.SqlClient.SqlMethods.Like):

var query = from c in ctx.Customers
            where SqlMethods.Like(c.City, "L_n%")
            select c;
Run Code Online (Sandbox Code Playgroud)