C# Linq中的SQL通配符

C# Linq中的SQL通配符,c#,sql,linq,C#,Sql,Linq,我有一个问题 select Max(CompanyId) from EmployeeCompany where CompanyId like '01-001' +'-___' 我如何在Linq中实现“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu? 我有像01-001-111、01-001-112这样的公司ID,以及您可以使用的实体框架 注意:此函数不会使用LIKE运算符生成SQL查询。相反,它将使用PATINDEX

我有一个问题

select Max(CompanyId) from EmployeeCompany where CompanyId like '01-001' +'-___'
我如何在Linq中实现“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?
我有像01-001-111、01-001-112这样的公司ID,以及您可以使用的实体框架


注意:此函数不会使用LIKE运算符生成SQL查询。相反,它将使用PATINDEX函数生成查询(这似乎比LIKE操作符更快)。

使用实体框架,您可以使用


注意:此函数不会使用LIKE运算符生成SQL查询。相反,它将使用PATINDEX函数生成查询(这似乎比LIKE运算符更快)。

您使用的是哪种类型的LINQ?是实体框架,还是您正在查询内存中的对象?我正在使用linq到实体。您正在使用哪种类型的linq?是实体框架,还是您正在查询内存中的对象?我正在使用linq转换实体。这似乎比LIKE运算符快,非常有趣。。。我不知道…我收到了此错误“LINQ to Entities无法识别方法PatIndex方法,并且无法将此方法转换为存储表达式”@MuzammilAnwar是否使用
System.Data.Entity.SqlServer
命名空间添加了?您的代码与asnwer中的代码完全相同?感谢Sergey Berezovskiy,当我将“System.Data.Objects.SqlClient.SqlFunctions”更改为“System.Data.Entity.SqlServer.SqlFunctions”时,它起到了作用,这似乎比LIKE运算符快得多,非常有趣。。。我不知道…我收到了此错误“LINQ to Entities无法识别方法PatIndex方法,并且无法将此方法转换为存储表达式”@MuzammilAnwar是否使用
System.Data.Entity.SqlServer
命名空间添加了?您的代码与asnwer中的代码完全相同?谢谢Sergey Berezovskiy,当我将“System.Data.Objects.SqlClient.SqlFunctions”更改为“System.Data.Entity.SqlServer.SqlFunctions”时,它工作正常
  db.EmployeeCompany
    .Where(c => SqlFunctions.PatIndex("01-001-___", c.CompanyId) > 0)
    .Max(c => CompanyId)