2017-01-24 32 views
0

我在c#中使用包含api,應用程序,域和數據層的洋蔥體系結構中的存儲庫模板。在應用程序或業務層中轉換存儲庫數據?

我注意到,在應用層中,需要從數據層接收的數據採用稍微不同的格式。舉例來說,應用層與數據層的預期數據,如

GetPeriods() 
2017-01-01 2017-01-31 50 
2017-02-01 2017-02-28 70 
etc 

但在應用層的部分,我還需要在一天列表格式如

GetPeriodsAsDays() 
2017-01-01 50 
2017-01-02 50 
etc 

我想這個數據以確保我正確理解存儲庫模式和洋蔥體系結構,並且我的問題是我應該在從數據層recive數據後在應用程序層中執行TransformPeroidsToDays(GetPeriods)

B)做GetPeriodsAsDays()在數據層,並已在處置格式化數據應用層

回答

1

絕對你想要做TransformPeroidsToDays(GetPeriods)在應用層。數據層應該只關心在原始數據上創建,檢索,更新和刪除(CRUD操作)。

將數據轉換爲其他內容是屬於業務邏輯層的「業務邏輯」,即您稱之爲「應用程序」層。我建議將它稱爲前者或應用程序層以外的東西,因爲它通常不稱爲;術語「應用程序」通常指的是整個...好的應用程序。

+0

當你說數據層應該與CRUD操作有關時,我假設你包含了也可以是非正式數據操作的搜索操作.... – mko

+0

這是一個廣泛的話題,有很多爭論,但我會說不,在那裏在處理查詢中的數據方面不會太多。只是針對將數據拉入POCO的實體表的直接查詢。順便說一下,這使得使用像Entity Framework或NHibernate這樣的ORM工具成爲可能。 –

+0

我可以同意這一點。你說...可以使用ORM ..對不起,是什麼使它成爲可能? – mko

相關問題