2011-03-31 223 views
3

我正在開發ASP.NET(WebForms)應用程序並使用EntityFramework。我想知道什麼是使用實體的最佳做法。爲整個數據庫創建少數實體或爲特定目的創建許多實體?!實體框架最佳實踐

示例是這樣的: 我有客戶表。該表具有用於customers_addresses和customers_phones表的ForeignKey。我對這個數據集有2箱子

  1. 自動完成客戶名稱
  2. 顯示用戶信息

對於案例1我有一個實體,具有映射到用戶只有「名稱」一欄分貝 對於案例2我得到了另一個實體,其中包含其他表之間的所有數據和連接。

現在我想知道是否只有單個實體(數字2)對兩種情況都有好處。

EF的最佳做法是什麼?

回答

7

對於自動填充場景,我沒有看到原因,在您的情況下,有專門的實體。既然你要使用LINQ到實體爲所有的查詢,只要確定你是從實體選擇,而不是整個實體本身

from Customer cust in ent.Customers 
select new { 
    CustomerName = cust.CustomerName 
}; 

這樣,你仍然有輕便的SQL查詢僅僅是客戶名稱,後端,但是你不會用不必要的「專業」實體來污染你的模型。另外,如果你使用延遲加載,那麼你不必擔心EF加載任何相關的實體信息,除非你真的需要它。

+0

Dzieki Marek;) – jackal 2011-03-31 16:39:25