請幫助選擇正確的方式來使用n層web應用程序中的實體。 就目前而言我在它下面assembleis:請幫助選擇正確的n層Web應用程序的架構
- 模型(自定義實體)描述了類應用程序使用的領域。
- 驗證使用反射屬性方法驗證UI中的數據完整性(檢查所有圖層中的數據)。
- BusinessLogicLayer是使用DataAccessLayer中的抽象數據提供程序的附加邏輯和高速緩存的業務外觀。
DataAccessLayer使用LinqtoSql數據上下文和Linq查詢覆蓋abstarct數據提供程序。這裏有一點讓我覺得自己出錯了...... 我的DataLayer在將數據發送到業務層之前,使用映射器將從數據庫檢索到的數據映射(轉換)爲模型類(自定義實體)。它看起來像這樣:
internal static model.City ToModel(this City city) { if (city == null) { return null; } return new model.City { Id = city.CountryId, CountryId = city.CountryId, AddedDate = city.AddedDate, AddedBy = city.AddedBy, Title = city.Title }; }
所以映射器映射數據對象的描述模型。這是正確和常用的方式來處理實體,還是必須將數據對象用作實體(以獲得時間)?我清楚了嗎?
問題不在於映射器本身。問題是關於使用模型的必要性 – Roman 2011-03-31 10:32:37
更新了答案。 – 2011-03-31 10:33:44