由于没有太多关于此的文档,有人可以判断是否存在动态过滤数据的方法,因为有很多过滤选项?
答案 0 :(得分:1)
这不是最好在SQL中完成,而不是用字符串方法操作你的SQL吗?有许多选项解释here。其中最简单的如下......
select * from table1
where (col1 = :0 or :0 is null)
and (col2 = :1 or :1 is null)
and (col3 = :2 or :2 is null)
OPTION (RECOMPILE)
答案 1 :(得分:0)
如果有人有同样的问题,解决方案实际上非常简单,如果有更好的方法请告诉我:
string query = "select * from pandas where panda_id = :0";
List<object> parameters = new List<object>();
parameters.Add(15162210);
// Apply filter
if(shouldSearchByName)
{
query += " and name = :1";
parameters.Add("Super Panda");
}
// Return the data
return DB.Current.Query( query, args:parameters.ToArray());