2011-08-22 81 views
0

我是新來的實體框架,並有一個問題,我一直堅持一段時間。我在我的DAL中有一個存儲庫來訪問其返回的IEnumerable列表中用於定義的函數的數據。這裏有兩張表格涉及公司和他們的客戶訂單,請參閱下面的詳細信息。我需要爲客戶訂單返回一個Ienumerable列表...其中還包括客戶名稱。我能夠爲客戶訂單表返回所有內容,但無法從相關表中獲取客戶名稱。是否因爲我正在返回Ienumerable CustomerOrder類型的列表?如果任何人都可以通過顯示正確的代碼提供一些幫助,將不勝感激。我再次嘗試綁定到從CustomerOrders表中拉出的網格,但還需要顯示Customers表中的CustomerName。實體框架返回Parent與子實體一起作爲Ieunmerable列表

表1(客戶)

COMPANY_ID

CUSTOMER_ID

CUSTOMERNAME

customerAddress

表2(CustomerOrders)

CUSTOMER_ID

PRODUCT_ID

產品名稱

productDesc

這是我到目前爲止,這並不拉起任何客戶的名字,但拉CustomerOrders信息

public IEnumerable<CustomerOrders> GetCustomerOrders(int company_id) 
    { 
     return context.Customers.Where(c => c.company_id == company_id).First().CustomerOrders.ToList().OrderBy(p => p.ProductName); 
}  

回答

0

如何:

return context.CustomerOrders 
       .Include(o => o.Customer) 
       .Where(o => o.customer_id == customer_id); 
+0

嗨碎玻璃我道歉我認爲我正在設置一個例子,我的描述早些時候我已經更新了我的描述,我正在通過一個companyID,並且該公司的訂單在CustomerOrders表中。請參閱說明,我嘗試了您的建議,但沒有奏效。 – Shockwave

+0

@Shockwave:什麼部分沒有工作?應該只需要用'company_id'代替'customer_id'(我也缺少OrderBy) – BrokenGlass

+0

@Shockwave:確保你爲'Include'工作添加using語句:'使用System.Data.Entity;''並添加一個對'System.Data.Entity'的引用到您的項目中 – BrokenGlass