2014-01-16 68 views
0

這是我的代碼視圖顯示加入表,並使用LINQ

public List<InvoiceJoin> ShowIvoiceList() 
{ 
    InvoiceJoin ij = new InvoiceJoin(); 
    List<InvoiceJoin> list; 
    var data = (from t in _Entity.TblInvoices join t0 in _Entity.TblClients on new { ReceiverCode = t.ReceiverCode } equals new { ReceiverCode = t0.ClientCode } 
    select new 
    { 
     t.RakeNumber, 
     t.ReceiverCode, 
     t.ConsigneeCode, 
     t.InvoiceNumber, 
     t.InvoiceDate, 
     t.RecordStatus, 
     t0.ClientCode, 
     t0.ClientDescription, 
     t0.ClientAddress1, 
     t0.ClientAddress2, 
     t0.ClientAddress3, 
     t0.ClientCity, 
     t0.ClientState, 
     t0.ClientCountry, 
     t0.ClientZipCode, 
    }).ToList(); 

    foreach (var item in data) 
    { 
     list.Add(item); 
    } 
    return list; 
} 

我invoicejoin類

public class InvoiceJoin 
{ 
    public TblInvoice invoice { get; set; } 
    public string Cdetails { get; set; } 
    public string Cname { get; set; } 
    public string Caddr { get; set; } 
    public string Pname { get; set; } 
    public string Paddr { get; set; } 
} 

它不工作 我需要在單一視圖中顯示兩個SQL表中的數據列表,我怎麼可以在LINQ中做到這一點,請幫助一些我需要在html表中顯示的幫助朋友。 。 。

+0

您可以將返回的列表傳遞給視圖。從視角來看,數據只是一個項目的集合。 –

回答

1

確保您有構造類InvoiceJoin這需要2個參數:發票和客戶

​​3210

加載數據:

List<InvoiceJoin> data = (from invoice in db.TblInvoices 
          join client in db.TblClients 
          on invoice.ReceiverCode equals client.client 
          select new{Invoice=invoice,Client=client}).ToList() 
          .Select(n=>new InvoiceJoin(n.Invoice,n.Client)).ToList() 
+0

好吧,但它不工作列我需要那麼只有我需要在invoicejoin類設置屬性可能我對 – Dinesh

+0

雅朋友其工作但我怎麼能通過視圖爲例(foreach(模型中的項目){})像這樣它不來 – Dinesh

+0

如何我可以像這樣添加3個表格 – Dinesh

1

使用LINQ Union方法是這樣的:

var data = (from t in _Entity.TblInvoices 
       join t0 in _Entity.TblClients on new { ReceiverCode = t.ReceiverCode } equals new { ReceiverCode = t0.ClientCode } 
       select new 
       { 
        t.RakeNumber, 
        t.ReceiverCode, 
        t.ConsigneeCode, 
        t.InvoiceNumber, 
        t.InvoiceDate, 
        t.RecordStatus, 
        t0.ClientCode, 
        t0.ClientDescription, 
        t0.ClientAddress1, 
        t0.ClientAddress2, 
        t0.ClientAddress3, 
        t0.ClientCity, 
        t0.ClientState, 
        t0.ClientCountry, 
        t0.ClientZipCode, 
       }).Union(// 2nd linq query with same result set as first here); 
+0

我不明白的朋友,如果我使用聯盟它發生了什麼,然後如何通過這個列表來查看或綁定在模型中,我可以在invoicejoin類 – Dinesh

+0

我怎麼可以加入兩個以上的表如此 – Dinesh