0

由于没有太多关于此的文档,鉴于有很多过滤器选项,有人可以判断是否有一种动态过滤数据的方法?

4

2 回答 2

1

这不是在 SQL 中完成,而不是用字符串方法操作你的 sql 更好吗?这里解释了很多选项。其中最简单的如下...

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)
于 2016-06-06T15:01:00.010 回答
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());
于 2016-01-21T08:11:06.473 回答