У меня есть вопрос о том, как сделать это объединение ниже более общим c, как мы можем видеть здесь, если у меня есть 3 счета, мне нужно добавить еще 3 объединения,
Вы хотите сделать это объединение как можно c как можно?
(from line in associationRecord
join invoice1 in headers on line.InvoiceNumber equals invoice1.DocumentNumber
join item1 in items on invoice1.DocumentNumber equals item1.InvoiceNumber into h1Items
join impDeclaration1 in importDeclarations on invoice1.DocumentNumber equals impDeclaration1.InvoiceNumber into g1
from imp1 in g1.DefaultIfEmpty()
join invoice2 in headers on line.AssociatedInvoiceNumber equals invoice2.DocumentNumber
join item2 in items on invoice2.DocumentNumber equals item2.InvoiceNumber into h2Items
join impDeclaration2 in importDeclarations on invoice2.DocumentNumber equals impDeclaration2.InvoiceNumber into g2
from imp2 in g2.DefaultIfEmpty()
select new { invoice1, invoice2, h1Items, h2Items, imp1, imp2 }).ToList();
класс
internal sealed class AssociatedInvoiceRecord
{
public string? AssociatedInvoiceNumber { get; set; }
public string? InvoiceNumber { get; set; }
}
internal sealed class InvoiceHeaderRecord
{
public string? DocumentNumber { get; set; }
}
internal sealed class InvoiceImportDeclarationRecord
{
public string? InvoiceNumber { get; set; }
}
internal sealed class InvoiceItemRecord
{
public string? InvoiceNumber { get; set; }
}