2013-03-27 259 views
3

我正在使用EF4.1和MySql,无法使LIKE查询工作。我想获得名称类似于app的产品列表实体框架LIKE查询

。其中(p => p.Name.Contains(“app”)只返回一个名称为Apple的产品)生成的SQL包含LOCATE运算符而不是LIKE' %的应用%”

我试着执行使用SqlQuery类SQL命令( “SELECT * FROM产品,其中名称,如 '%@ P0%'”, “应用程序”),但无济于事。它不retrun任何产品。

请问一些建议我怎么写LIKE for MySql db。谢谢

+1

我们遇到同样的问题 – 2013-05-09 18:42:55

+0

我有同样的问题。任何解决方案 – vijayst 2015-02-18 05:19:08

回答

0

我不知道EF(yo no hablo Microsoft),但我敢打赌你的字面上的通配符是干扰素g用参数替换。

如果您尝试如下所示,它有帮助吗?

SqlQuery("select * from product where name like concat('%',@p0,'%')", "app") 

是“@ p0”的参数吗?我假设如此。

另外,尝试:

SqlQuery("select * from product where name like '@p0'", "%app%") 

另外:

SqlQuery("select * from product where name like @p0", "'%app%'") 

我敢打赌,这些人会工作。