2013-05-15 77 views
3

從數據訪問層返回數據對象到接口的最佳做法是什麼?從DAL返回數據對象

目前,我有一個與數據庫進行通信並將DataTable返回給業務層的層,然後Business Layer創建業務對象並返回到接口。這是不是可悲或不好的做法?

我的問題是:

- 什麼是從DAL返回數據對象的最佳方式?

- 如果DAL不應該返回數據對象,那麼如何獲取DataBinding接口的數據?

這不是問題,而是最佳實踐問題。

謝謝大家提前

回答

0

我不知道該DAL 不應返回數據對象 - 有許多個人喜好,它取決於多種因素,如應用程序的規模。在我構建的大部分(小型)應用程序中,我在DAL中使用了數據讀取器,而不是填充和傳遞DataTable。 DAL使用數據讀取器來填充業務對象,然後將其作爲集合返回到服務層。

在一個更復雜的情況下,表並不總是等同於業務對象,我使用數據讀取器填充DTO(數據傳輸對象 - 非常簡單的只包含表示表結構和無邏輯的變量的類)作爲集合返回到服務層。服務層從一種或多種類型的DTO構造業務對象。我不是說這是一個明確的答案,雖然('最佳實踐'的問題!),但希望我的經驗可以給一個洞察力(在做什麼或不該做什麼是有爭議的!)。我對自己感興趣,看看別人可以爲此做出什麼貢獻。我想你可能會得到的一個答案是調查一個ORM的使用!