Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是C#Linq与VB.Net Linq组Join和Into关键字的等价物?_C#_Vb.net_Linq - Fatal编程技术网

什么是C#Linq与VB.Net Linq组Join和Into关键字的等价物?

什么是C#Linq与VB.Net Linq组Join和Into关键字的等价物?,c#,vb.net,linq,C#,Vb.net,Linq,我正试图用C#重写一个旧的vb.net应用程序。我遇到了需要转换的linq代码: (From wn In dtx.WebQueryGroupNames Group Join _ wqg In dtx.WebQueryGroups On wn.QueryGroupNameKey Equals wqg.QueryGroupNameKey _ Into Group _ From p

我正试图用C#重写一个旧的vb.net应用程序。我遇到了需要转换的linq代码:

 (From wn In dtx.WebQueryGroupNames Group Join _
                    wqg In dtx.WebQueryGroups On wn.QueryGroupNameKey Equals wqg.QueryGroupNameKey _
                    Into Group _
                    From p In Group.DefaultIfEmpty() _
                    Select wn _
                    Where Not (From x In dtx.WebQueryGroups Where x.QueryKey = queryKey Select x.QueryGroupNameKey).Contains(wn.QueryGroupNameKey)).Distinct.ToList
到目前为止,我得到的是:

 (from wn in dtx.WebQueryGroupNames Group join  
        wqg in dtx.WebQueryGroups on wn.QueryGroupNameKey equals wqg.QueryGroupNameKey 
        Into Group 
        from p in Group.DefaultIfEmpty() 
        select wn 
        where !(from x in dtx.WebQueryGroups where x.QueryKey = queryKey select x.QueryGroupNameKey).Contains(wn.QueryGroupNameKey)).Distinct(); 

我似乎找不到有关该组的任何信息,也找不到转换为C#的关键字。我想我遗漏了一个关键点,使这个问题有意义

你要找的术语是


我相信
groupjoin
转化为一个带有
into
子句的计划
Join
。试试这个

 (from wn in dtx.WebQueryGroupNames join  
        wqg in dtx.WebQueryGroups on wn.QueryGroupNameKey equals wqg.QueryGroupNameKey 
        into g
        from p in g.DefaultIfEmpty() 
        select wn 
        where !(from x in dtx.WebQueryGroups where x.QueryKey = queryKey select x.QueryGroupNameKey).Contains(wn.QueryGroupNameKey)).Distinct();

See

是另一个很好的资源(如果你知道你要做的事情的逻辑名称,不一定只是VB.NET关键字)。@Rodrigo我一直在使用这个网站,它是一个很好的资源;然而,当我不确定最初的开发人员想要完成什么时,它并不能帮助我将VB.Net代码转换成C。
 (from wn in dtx.WebQueryGroupNames join  
        wqg in dtx.WebQueryGroups on wn.QueryGroupNameKey equals wqg.QueryGroupNameKey 
        into g
        from p in g.DefaultIfEmpty() 
        select wn 
        where !(from x in dtx.WebQueryGroups where x.QueryKey = queryKey select x.QueryGroupNameKey).Contains(wn.QueryGroupNameKey)).Distinct();