2013-03-19 53 views
3

目前我們在我們的應用程序中使用Sql Server和Entity框架。我們有我們自己的定製會員供應商,它基於Sql Server。我們使用EF作爲ORM。我應該如何設計我的業務層來處理基於配置設置的Sql Server和Mongo DB

我們正在更新我們的應用程序來處理MongoDb。我們開始對會員供應商進行更改。

截至目前,我們的BL直接創建實體模型的實例並執行數據庫操作。我認爲這不是一個好設計。

我希望我的BL不應該根據DB進行更改。它應該創建一個存儲庫對象的實例並轉發請求(CRUD操作)。存儲庫將負責與DAL進行通信。如果我錯了,請糾正我。

我正在考慮創建一個接口,這個接口將由存儲庫和從BL使用的存儲庫實現。界面將如下所示。

interface IDataRepository 
{ 
    MembershipUser CreateUser(string firstName, stringLastName, string email, string phone); 
} 

1)。請告訴我一個更好的方法。 2)。如果我的應用程序有不同的存儲庫,那麼BL應該如何決定應該使用哪個存儲庫。將使用工廠模式這個好主意?

感謝, 納雷什

回答

0