2010-08-27 69 views
1

我正在做與實體框架的數據綁定。我有三個主 - 詳細信息 - 子模型:客戶訂單,並OrdersDetails。 這將運行正常和數據綁定做的很好:在實體框架數據綁定中選擇列

this.customerBindingSource.DataSource = context.Customers.ToList(); 

但肯定將返回所有列。我如何返回指定的列並仍然保留綁定?像這樣的東西會失敗:

context.Customers.Select(c => new { Name = c.Name, Address = c.Address }); 

謝謝。

回答

0

我希望,你必須返回所有列,因爲EF必須建立從這些數據實體。如果您將anonymos類型與列的子集一起使用,則將投影到與您的實體模型無關的cutom類型。 UI控件應該負責顯示哪些列。如果您不喜歡這種方法,您必須定義一組具有有限列的新實體,將這些實體映射到您的EF模型中,並將這些實體從查詢返回給您的BindingSource。

+0

所以有2個選項: 1.從數據網格中刪除不需要的列。 2.爲實體創建新的視圖。 謝謝拉迪斯拉夫:) – 2010-08-27 11:29:55