[英]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
这里就像join
在SQL
,它不会返回任何值,如果连接表不包含结果。
如果您需要left or right outer join
使用GroupJoin()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.