日期:2014-05-20  浏览次数:20933 次

linq或条件查询

var result = from p in db.Result
                         where 
                         //&& (string.IsNullOrEmpty(strDepName) ? 1 == 1 : p.DepName == strDepName)
                         group p by new { Name = (groupName == "UserName") ? p.UserName : p.DepName } into pGroup
                         select new
                         {
                             Name = pGroup.Key.Name,
                             Total= pGroup.Sum<Result>(item => item.Type == "A"  ? item.Total : 0)
};
                             


上面的语句是实现一个查询统计的功能,在 p.DepName == strDepName地方 目前只支持一个部门信息的查询,现在想支持多个部门查询(部门是传值的,不定的)。求指导
------解决方案--------------------
将所有的名字做成一个数组或者List,然后 xxx.Conaints(groupName) 
------解决方案--------------------
var list=new string[]{"部门1","部门2"};

where list.Contains(p.DepName)