C# 如何使用flag字段连接linq中的多个表
这是连接查询代码,其中包含3个表,一个是tblinvoice、tblClient、TblCustomer。在Tblinvoice中包含一个标志字段,其中包含“客户”,然后我需要加入发票和客户表,或者它包含客户,然后我需要加入发票和客户表如何做到这一点请一些人帮助我的朋友C# 如何使用flag字段连接linq中的多个表,c#,asp.net-mvc,linq,join,linq-to-entities,C#,Asp.net Mvc,Linq,Join,Linq To Entities,这是连接查询代码,其中包含3个表,一个是tblinvoice、tblClient、TblCustomer。在Tblinvoice中包含一个标志字段,其中包含“客户”,然后我需要加入发票和客户表,或者它包含客户,然后我需要加入发票和客户表如何做到这一点请一些人帮助我的朋友 public class InvoiceJoin { private TblInvoice invoice; private TblClient client; private TblCustomer C
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();
List datalist=(来自_godownEntity.TblInvoices中的发票)
在_godownEntity.TblClients中加入客户端
在发票上.ReceiverCode等于client.ClientCode
选择new{Invoice=Invoice,Client=Client}).ToList()//直到这条路在SQL Server上完成
.Select(n=>newinvoicejoin(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*
没有朋友我有三张桌子一张是发票,然后是客户,最后一张是仓库。在发票表中有一个字段名为InvoiceType,该字段值为1,我需要加入发票和客户表,否则我需要加入发票和仓库表,你能理解吗