在用实体类建模时候,用Linq根据条件查询数据表,对于多个条件的查询,原来是需要什么条件就写一个方法,在开发途中发现条件确实是太多= =,
便想用几个公用方法来包含这些条件,也就是条件为空的时候不执行这个where罢了 比如:
if (FromUserId != "" && ToUserId != "")
{
var query = from p in entities.T_Complaint
where
p.C_FromUserId.Equals(FromUserId)
&& p.C_ToUserId.Equals(ToUserId)
select p;
}.....
但是这两个条件就需要判断三次,这时候想用这个方法来解决
var query = from p in entities.T_Complaint
where
(FromUserId.Equals("")) ? true : p.C_FromUserId.Equals(FromUserId)
&& (ToUserId.Equals("")) ? true : p.C_ToUserId.Equals(ToUserId)
select p;
可是Linq不支持条件啊,三元判断压根没用。不知道有什么方法呢。