ラムダとLINQでの.Net違う感じ

ラムダ:

          ids.Add(
                    _hahahacontext 
                    .hahahamodel 
                    .FirstOrDefault(
                        A => 
                        a.name == " 张宏伟"  
                        && a.age == 18 
                    .ID 
                    .ToStringを() 
                    )。

 

LINQ:

        ids.Add((
                     から R _hahahacontext.hahahamodel
                    (r.name == " 张宏伟" && r.ageの== 18 を選択r.id 
                    ).FirstOrDefault()
                    .ToString() 
                    )。  

 

木材が見つかった、またはバックLINQラムダを使用しており、私は、LINQメソッドTOP1同様のテイクを見つける小さくなるように機能LINQを感じるが、それはマルチテーブル共同調査に来ていなかった、それは本当にLINQで、より明確に見えますラムダ、あなたは混乱おそらくます。

例えば:(これは純粋ラムダであり、関節調査を修正するために試験しました)

= viewModel.fields 新しい新SelectListの(
                _hahahacontext 
                .hahahamodel1 
                .Where(
                    A => _hahahacontext 
                    .hahahamodel2 
                    .Where(//フィルタと関連するクエリを一緒に入れている、混同しやすいです
                        Bを => 
                            a.REF_ENUMID == " -5,136,816,235,353,979 " 
                            b.REF_ENUMID == && " -5,136,816,235,353,979 " 
                            && a.STATE == " 1 " 
                            &&a.PARENT_ID ==b.ID //表关联
                             && b.SHOWVALUE!= " 欧洲" 
                    .ANY() 
                .Select(A => a.SHOWVALUE)
                .ToArray()
                .Prepend("" 
                .Distinct()
                .ToList()
                .OrderBy( => a.ToString()))。

しかし、LINQは、合同捜査への「参加」のSQL文と同じように使用することができます。ではない、例えば、自分の読書。

 

おすすめ

転載: www.cnblogs.com/hongwei918/p/11420728.html