码迷,mamicode.com
首页 > Web开发 > 详细

感受一下.net中 lambda与 linq 的不同

时间:2019-08-27 21:22:11      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:linq   model   关联   tostring   fir   mode   lambda   efault   default   

lambda:

          ids.Add(
                    _hahahacontext
                    .hahahamodel
                    .FirstOrDefault(
                        a =>
                        a.name == "张宏伟" 
                        && a.age== 18
                        )
                    .id
                    .ToString()
                    );

 

linq:

        ids.Add((
                    from r in _hahahacontext.hahahamodel
                    where (r.name == "张宏伟"&& r.age == 18)
                    select r.id
                    ).FirstOrDefault()
                    .ToString()
                    );  

 

发现木有,linq 后面还是用了 lambda,我没找到linq 中类似取 top1 的方法, 功能上感觉linq要少一些,但是涉及到多表联查的时候,那真的是linq看起来更清晰,而lambda的话可能会把你搞乱。

比如:(这是纯 lambda,经测试是正确的联查 )

viewModel.fields = new SelectList(
                _hahahacontext
                .hahahamodel1
                .Where(
                    a => _hahahacontext
                    .hahahamodel2
                    .Where(            //  过滤和联查都是放到一起的,容易搞乱
                        b =>
                            a.REF_ENUMID == "-5136816235353979"
                            && b.REF_ENUMID == "-5136816235353979"
                            && a.STATE == "1"
                            && a.PARENT_ID == b.ID     //表关联
                            && b.SHOWVALUE != "欧洲"
                        )
                    .Any()
                    )
                .Select(a => a.SHOWVALUE)
                .ToArray()
                .Prepend("")
                .Distinct()
                .ToList()
                .OrderBy(a => a.ToString()));

但是,linq 中可以用“ join ” 来联查,如同sql语句一样。不举例,自己看书。

 

感受一下.net中 lambda与 linq 的不同

标签:linq   model   关联   tostring   fir   mode   lambda   efault   default   

原文地址:https://www.cnblogs.com/hongwei918/p/11420728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!