Я хочу объединить два запроса iquerible, два получают набор результатов, отфильтровывая оба условия, независимо от того, присоединяется ли запрос или объединение набора результатов. Я хочу получить результат, поскольку внутреннее соединение здесь - это мой код
Я действительно хочусделать что-то вроде этого
var joinedquery = query.Join(query2)
var query = filteredVehicle
.Join(VehiclePolicy, m => m.Id, n => n.VehicleId, (m, n) => new { m, n })
.Join(Policy, o => o.n.PolicyId, p => p.Id, (o, p) => new { o, p })
.Join(Contracti, q => q.p.ContractId, r => r.Id, (q, r) => new { q, r })
.Join(Insureri, s => s.r.InsurerId, t => t.Id, (s, t) => new { s, t })
.Join(ReinsurerContracti, u => u.s.r.ReinsurerContractId, v => v.Id, (u, v) => new { u, v })
.Join(Dealeri, w => w.u.s.q.p.DealerId, x => x.Id, (w, x) => new { w, x })
.Join(ContractExtensionPremium, y => y.w.u.s.q.p.ContractExtensionPremiumId, z => z.Id, (y, z) => new { y, z })
.Join(WarrantyType, b => b.z.WarrentyTypeId, c => c.Id, (b, c) => new { b, c })
.Join(Reinsureri, d => d.b.y.w.v.ReinsurerId, e => e.Id, (d, e) => new { d, e })
.Join(Bordx, f => f.d.b.y.w.u.s.q.p.BordxId, g => g.Id, (f, g) => new { f, g })
.Where(h => h.g.StartDate >= BordxStartDate && h.g.EndDate <= BordxEndDate)
.Select(yz => new
{
Insurer = yz.f.d.b.y.w.u.t.Id,
InsurerShortName = yz.f.d.b.y.w.u.t.InsurerShortName,
Reinsurer = yz.f.d.b.y.w.v.ReinsurerId,
ReinsurerName = yz.f.e.ReinsurerName,
UNRYear = yz.f.d.b.y.w.v.UWYear,
Dealer = yz.f.d.b.y.w.u.s.q.p.DealerId,
DealerName = yz.f.d.b.y.x.DealerName,
PolicyStatus = getpolicyStatus(yz.f.d.b.y.w.u.s.q.p.Id),
WarantyType = yz.f.d.c.WarrantyTypeDescription,
EarnPrecen = getErnPercent(yz.f.d.b.y.w.u.s.q.p.PolicyStartDate, yz.f.d.b.y.w.u.s.q.p.PolicyEndDate, yz.f.d.b.y.w.u.s.q.p.Premium)
}).ToList();
var query2 = filteredClaims
.Join(VehiclePolicy, m => m.Id, n => n.VehicleId, (m, n) => new { m, n })
.Join(Policy, o => o.n.PolicyId, p => p.Id, (o, p) => new { o, p })
.Join(Contracti, q => q.p.ContractId, r => r.Id, (q, r) => new { q, r })
.Join(Insureri, s => s.r.InsurerId, t => t.Id, (s, t) => new { s, t })
.Join(ReinsurerContracti, u => u.s.r.ReinsurerContractId, v => v.Id, (u, v) => new { u, v })
.Join(Dealeri, w => w.u.s.q.p.DealerId, x => x.Id, (w, x) => new { w, x })
.Join(ContractExtensionPremium, y => y.w.u.s.q.p.ContractExtensionPremiumId, z => z.Id, (y, z) => new { y, z })
.Join(WarrantyType, b => b.z.WarrentyTypeId, c => c.Id, (b, c) => new { b, c })
.Join(Reinsureri, d => d.b.y.w.v.ReinsurerId, e => e.Id, (d, e) => new { d, e })
.Join(Bordx, f => f.d.b.y.w.u.s.q.p.BordxId, g => g.Id, (f, g) => new { f, g })
.Where(h => h.g.StartDate >= BordxStartDate && h.g.EndDate <= BordxEndDate)
.Select(yz => new
{
Insurer = yz.f.d.b.y.w.u.t.Id,
InsurerShortName = yz.f.d.b.y.w.u.t.InsurerShortName,
Reinsurer = yz.f.d.b.y.w.v.ReinsurerId,
ReinsurerName = yz.f.e.ReinsurerName,
UNRYear = yz.f.d.b.y.w.v.UWYear,
Dealer = yz.f.d.b.y.w.u.s.q.p.DealerId,
DealerName = yz.f.d.b.y.x.DealerName,
PolicyStatus = getpolicyStatus(yz.f.d.b.y.w.u.s.q.p.Id),
WarantyType = yz.f.d.c.WarrantyTypeDescription,
EarnPrecen = getErnPercent(yz.f.d.b.y.w.u.s.q.p.PolicyStartDate, yz.f.d.b.y.w.u.s.q.p.PolicyEndDate, yz.f.d.b.y.w.u.s.q.p.Premium)
});