【发布时间】:2010-10-08 22:01:50
【问题描述】:
我的问题如下:
我正在寻找一种将 LINQ 表达式转换为 SQL LIKE 查询的 LINQ 解决方案。
(我知道在 LINQ 中我可以使用 Contains、StarsWidth、EndWidth 来代替“LIKE”,但在我的情况下这不是一个好的解决方案,如果您检查生成的 sql 脚本,您会发现它没有使用 LIKE)
我发现很多文章使用 System.Data.Linq.SqlClient.SqlMethods.Like 方法 所以我写了我的查询:
var query = from c in _context.prgCity where SqlMethods.Like( c.FullName, "%buda") select c.FullName + "|" + c.prgCountry.CountryName;
return query.ToList<string>();
但是当查询运行时,我收到以下错误消息:
“LINQ to Entities 无法识别方法 'Boolean Like(System.String, System.String)' 方法,并且该方法无法转换为存储表达式。”
任何人都可以帮助我做错了什么?
【问题讨论】: