繁体   English   中英

动态LINQ中的乘法连接

[英]multiply join in dynamic linq

我试图加入这些表,我必须使用动态linq,如果.Join(dbcontext.Providers)拥有并返回数据,而当我没有.Join(dbcontext.Providers)上的数据时所有的queryResolts returnig 0都可以正常工作结果

即使联接之一返回0结果,我如何获取数据

var queryResolts = dbcontext.Tracks
            // Add Services
            .Join(dbcontext.Services,
                track => track.ServiceId,
                service => service.ServiceId,
                (track, service) => new { Track = track, Service = service })
            // Add ServiceInterfaces
            .Join(dbcontext.ServiceInterfaces,
                ts => ts.Track.ServiceInterfaceId,
                serviceInterface => serviceInterface.ServiceInterfaceId,
                (ts, serviceInterface) => new { Track = ts.Track, Service = ts.Service, ServiceInterfaces = serviceInterface })
            // Add Providers
            .Join(dbcontext.Providers,
                tss => tss.Track.ProviderId,
                provider => provider.ProviderId,
                (tss, provider) => new { Track = tss.Track, Service = tss.Service, ServiceInterfaces = tss.ServiceInterfaces, Providers = provider })
            .Where("ServiceInterfaces.ServiceInterfaceName == @0", "PublishPolicyInterface2")
            .Select(y => y.Track) 

            ;

谢谢

三木

Join这里就像joinSQL ,它不会返回任何值,如果连接表不包含结果。

如果您需要left or right outer join使用GroupJoin()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM