2013-02-27 85 views
1

我想通過使用實體框架加入Northwind數據庫上的Customer和Orders表,但是我在'DataBind'上遇到錯誤。實體框架加入Stuck

public void CustomerJoin() 
    { 
     using (var ctx = new northwindContext()) 
     { 
      var found = from mycust in ctx.Customers 
         join cust in ctx.Orders on mycust.CustomerID equals cust.CustomerID 
         select new { Customer = mycust, Order = cust }; ; 
      grdEmployees.DataSource = found.ToList(); 
      grdEmployees.DataBind(); 
     } 
    } 

grdEmployees.DataBind的錯誤消息();: ID爲「grdEmployees」的GridView的數據源沒有任何屬性或從其屬性生成列。確保您的數據源有內容

+0

看起來像WinForms不喜歡綁定到異常類型對象的列表。 – Aron 2013-02-27 09:08:04

回答

1

你可能做錯了,當你結合

grdEmployees.DataSource = found.ToList(); 

你應該有你想顯示

和迭代所有列的屬性一類通過發現像這樣

list<newClassToShow> itemsToBind = new <newClassToShow>(); 
foreach(var item in found.ToList()) 
{ 
    newClassToShow it = new newClassToShow() 
it.property1 = item.column1;//do this for all item 
itemToBind.add(it); 
} 

現在綁定列表gridEmployee

+0

List itemsToBind = new ();在這裏得到一個錯誤! – 2013-02-27 08:15:31

+0

如果你在c#中這樣做,可以這樣做。 public class newClassToShow { public string name {get;組; } public string address {get;組; } }創建這個類的對象,並在答案中給出來自項目的列。注意: - 類只是樣本make屬性,與您的需求相同 – Betty 2013-02-27 09:50:30