我正在開發一個使用ASP.NET MVC和Entity Framework的中型ASP.NET項目。我公司開發的3層系統通過設置3個Visual Studio項目,並相應地引用它們:我的3層(n層)架構是否有良好的設計?
- 介紹 - 這是我的MVC項目,幷包含所有的視圖和控制器。我將這個模型文件夾完全從這個項目中刪除,因爲我將它移動到了BO項目中(參見下文)
- Business Objects(BO) - 該項目包含應用程序的「肉」應用程序的心臟位於。在這裏,定義的對象代表了我試圖在代碼中進行建模的內容(用戶,設施,約會等)。
- 數據訪問(DA) - 此項目是目前爲止的所有實體框架。
我遇到的「問題」是我在BO中做了很多手動的一對一映射。例如,當調用User.load()時,我從EF加載用戶,然後將EF結果中的一些參數(名字,姓氏,用戶名,活動等)映射到對象上的參數。
我認爲這是好的和壞的。好:它將EF從項目中斷開,所以如果我需要使用另一個數據存儲,我不會僅限於EF。不好:需要多一點時間,因爲我必須設置每個參數,並通過實現我自己的更改跟蹤,在Add(),Update()等上仔細處理它們。
您如何看待這種方法?