首页 > 解决方案 > 如何使用 Linq SqlQuery 构建 MySqlParamter?

问题描述

我如何/应该如何构建 mysql 参数?

以下是我这样做的方式,但仍然没有从中获得输出:

var cities = ce.city.SqlQuery("Select * from world.city where Name like '%@p0%'", 
                 new MySqlParameter("@p0", kendoServerFilter.filter.Filters[0].Value))
                 .ToList();

var cities = ce.city.SqlQuery("Select * from world.city where Name like '%@p0%'", 
                 new MySqlParameter("p0", kendoServerFilter.filter.Filters[0].Value))
                 .ToList();

var cities = ce.city.SqlQuery("Select * from world.city where Name like @p0", 
                 new MySqlParameter("p0","'%" + kendoServerFilter.filter.Filters[0].Value + "%'"))
                 .ToList();

如果我通过连接字符串来构建查询,语句工作正常,但在使用参数化查询时不起作用。我哪里错了?请帮忙..

标签: c#mysql.netentity-frameworklinq

解决方案


尝试从登录参数值''的开头和结尾删除单引号()%

所以你的第三个查询将是

var cities = ce.city.SqlQuery("Select * from world.city where Name LIKE @p0", 
                 new MySqlParameter("p0","%" + kendoServerFilter.filter.Filters[0].Value + "%"))
                 .ToList();

推荐阅读