c# – 没有实体框架的存储库

我对Repository模式还不熟悉(刚从石器时代回来,大家好:-).我的困境是,我需要开发一种我的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/)
但是和其他任何地方一样,它仍然有大量的实体框架,我认为这种框架不适用于我的情况.

有人可以指出我可以进一步研究的可能的解决方案或参考吗?

谢谢

最佳答案
欢迎回来!我希望食物很好吃. 🙂

您可以通过编写自己的数据访问层(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;它更详细一些.你处于与那个问题相同的情况,即使表面看起来不同,因为你来自不同的起点.但是一旦你看到底层模式如何工作,解决方案就是一样的.

转载注明原文:c# – 没有实体框架的存储库 - 代码日志