Linq中的SQL通配符_

时间:2017-03-17 11:34:39

标签: c# sql linq

我有一个查询

select Max(CompanyId) from EmployeeCompany where CompanyId like '01-001' +'-___'

如何实施' ___'在Linq任何想法? 我有同样的感觉,如01-001-111,01-001-112

1 个答案:

答案 0 :(得分:2)

使用Entity Framework,您可以使用SqlFunctions.PatIndex

  db.EmployeeCompany
    .Where(c => SqlFunctions.PatIndex("01-001-___", c.CompanyId) > 0)
    .Max(c => CompanyId)

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