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

请教查询子表的Lambda表达式的写法!
请教大家,下面这个语句怎么转换成 db.Companys.Where( x=> x.Departments........)的写法呢?


            var q = from x in db.Companys
                    from y in db.Departments
                    where x.DepartmentId == y.Id && y.Name == "业务部"
                    select x;

------解决方案--------------------
你可以用Linq的 Join
------解决方案--------------------
手写,仅供参考:

IQueryable<Companys> orders = entity.Companys.Join(entity.Departments.where(a => a.Name = "业务部"), b => b.Id, s => s.DepartmentId, (m, n) => m);

------解决方案--------------------

IQueryable<PARA_COMPANYS> modelL = db.PARA_COMPANYS;
                        //添加查询条件
                        if (!string.IsNullOrEmpty(strCODE_NO))
                        {
                            modelL = modelL.Where(p => p.CODE_NO == strCODE_NO);
                        }
//后面加if就行了 最后得到modelL


不知道我说的大家能看明白们 呵呵 比较笨这个方法 求高手简洁代码