我有SOA處理差異客戶端數據(asp,sl)的數據。這個設計的基礎是我的商業模式的領域。爲了運輸,向客戶展示我使用DTO。爲了將域映射到DTO,我使用AutoMapper。現在我應該堅持來自客戶的新實體。我也想在這種情況下使用我的DTO。所以我有一些問題,因爲我不太熟悉這個設計NHibernate。 DTO - >域名
1)在客戶端上構建DTO並將其發送到網絡服務上是否是一種很好的做法?可能我應該通過我的域名?
2)有可能有幾個DTO的一個域(一個在網格上顯示,另一個在保存)。爲了節省,我需要在客戶端設置所有非原生道具。
3)DTO - >到域。如果我有int,我可以使用AutoMapper爲這個ID生成NHibernate Proxy,或者我應該手動執行。
您的出場和練習非常有趣。 感謝您的回答!
我是新的使用這種架構:DTO + NHibernate serviceLayer;您是否將映射/複製域(包括子集合)的版本/時間戳到DTO以達到一致性目的? – kite 2012-07-04 10:11:37
如果知道域對象已經改變很重要,那麼你會複製它。這就是說,我已經做了大量的屏幕,最後一次更改獲勝是一個完全可以接受的策略。警告人們,每個屏幕上的內容都會發生變化,這會讓您的用戶感到惱火。 – 2012-07-04 12:53:14
感謝shane,如果您不介意,還有1個問題:) 與更改/髒跟蹤相關DTO(DTO的集合)用於從UI網格批量更新/刪除/插入;你有關於如何使用NHibernate作爲CRUD服務層+ automapper實現這些資源的提示/鏈接?我不想重新發明輪子(刪除標誌的負ID,插入的新GUID +如何從DTO的髒屬性更新部分域屬性,僅更新來自ALL DTO屬性的域屬性)。 – kite 2012-07-04 19:00:04