2014-02-21 69 views
6

我對倉庫模式相當陌生(剛剛從石器時代回來,嗨大家:-)。我的困境是,我需要開發一種方式,即我的Windows應用商店應用程序今天可以與SQLite(SQLite-Net)一起使用,並且在不久的將來可以關閉WCF服務(或者一些非直接的數據庫訪問)。基本上我想切換供應商爲我的數據訪問層容易沒有實體框架的倉庫

我遇到過的最好的網站就是這個博客(http://blog.longle.net/2013/05/11/genericizing-the-unit-of-work-pattern-repository-pattern-with-entity-framework-in-mvc/) 但是和其他任何地方一樣,它仍然有大量的實體框架,我認爲它不適用於我的情況。

有人能指出我可以繼續工作的可能解決方案或參考嗎?

謝謝

+2

好的,過分熱心的主持人......這不是題外話題。 OP在設計滿足特定需求的解決方案(**在SQLite和WCF之間進行數據訪問**的切換能力)中尋求幫助,並列出了他/她在該問題上所做的研究,包括類似的解決方案符合要求。 –

+0

我刪除了entity-framework標籤 - 是否會讓你們開心? –

回答

3

歡迎回來!我希望食物很好。 :-)

您可以通過編寫自己的數據訪問層(DAL)作爲接口來實現Repository pattern,然後分別將適配器類寫入SQLite和WCF,它們都實現了該接口。你的接口將定義查詢方法和更新方法。例如,你可以寫:

public interface IWidgetRepository 
{ 
    // Query methods 
    Widget GetById(string id); 
    IEnumerable<Widget> GetFeaturedWidgets(); 
    IEnumerable<Widget> GetRecommendedWidgetsForUser(string userId); 

    // Update methods 
    void RenameWidget(string id, string newName); 
    void UpdateWidgetPrice(string id, decimal newPrice); 
} 

又見this answer上類似的問題;它更詳細一些。你和那個問題處於同樣的境地,即使它看起來不同,因爲你來自不同的起點。但是一旦你看到底層模式如何工作,解決方案是一樣的。

+0

謝謝,那就是我一直在尋找的東西。 – user2418216