海量 ORM 动态 Where 过滤

Massive ORM dynamic Where filtering

由于这方面的文档不多,如果有很多过滤器选项,有人能告诉我是否有动态过滤数据的方法吗?

解决方法其实很简单,如果有人有同样的问题,如果有更好的方法请告诉我:

        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());

这不是在 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)