海量 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)
由于这方面的文档不多,如果有很多过滤器选项,有人能告诉我是否有动态过滤数据的方法吗?
解决方法其实很简单,如果有人有同样的问题,如果有更好的方法请告诉我:
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)