如何使用标志字段联接 LINQ 中的多个表



这是连接查询代码,其中包含3个表,一个tblinvoice,tblClient,TblCustomer。 在 Tblinvoice 中包含一个包含"客户"的标志字段,然后我需要加入发票和客户表或它包含客户然后我需要加入发票和客户表如何做到这一点,请有人帮我朋友。

public class InvoiceJoin
{
    private TblInvoice invoice;
    private TblClient client;
    private TblCustomer Customer;
    public InvoiceJoin(TblInvoice invoice, TblClient client)
    {
        this.invoice = invoice;
        this.client = client;
        //this.Customer = Customer;
        //...
    }
    public string RakeNumber { get { return invoice.RakeNumber; } set { invoice.RakeNumber = value; } }
    public string partyCode { get { return invoice.ReceiverCode; } set { invoice.ReceiverCode = value; } }
    public string invoiceNum { get { return invoice.InvoiceNumber; } set { invoice.InvoiceNumber = value; } }
    //... ather invoice properties you want to see in grid
    public string ClientCode { get { return client.ClientCode; } set { client.ClientCode = value; } }
    public string ClientName { get { return client.ClientAddress1; } set { client.ClientAddress1 = value; } }        
    // ...ather clientproperties you want to see in grid
}

和我的数据加载方法

 List<InvoiceJoin> datalist = (from invoice in _godownEntity.TblInvoices
                                   join client in _godownEntity.TblClients
                                   on invoice.ReceiverCode equals client.ClientCode
                                   select new { Invoice = invoice, Client = client }).ToList() // until this road will be done on SQL servrer
                      .Select(n => new InvoiceJoin(n.Invoice, n.Client)).ToList();

如果你问如何在 Linq 中连接这些表,这是语法(否则,请在注释中告诉):将主键和外键放在 X 和 Y 上

var Query = (from invoice in _godownEntity.TblInvoices
             join client in _godownEntity.TblClients on invoice.ReceiverCode equals client.ClientCode
             join customer in _godownEntity.TblCustomers on invoice.**X** equals customer.**Y**
             select *WHAT U WANT*

最新更新