我试图加入那些表我必须使用动态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)
;
感谢
三木
答案 0 :(得分:1)
Join
此处的作用类似于join
中的SQL
,如果联接的表格不包含结果,则不会返回任何值。
如果您需要left or right outer join
,请使用GroupJoin()
。