【问题标题】:Repository without Entity framework [closed]没有实体框架的存储库[关闭]
【发布时间】:2014-02-25 07:18:26
【问题描述】:

我对存储库模式相当陌生(刚从石器时代回来,大家好 :-)。我的困境是,我现在需要开发一种我的 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/) 但与其他任何地方一样,它仍然有大量的实体框架,我认为这不适用于我的情况。

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

谢谢

【问题讨论】:

  • 好吧,过分热心的准版主...这不是题外话。 OP 正在寻求帮助来设计满足特定要求的解决方案(能够在 SQLite 和 WCF 之间切换以进行数据访问)并列出她/他对该问题所做的研究,包括类似的解决方案不符合要求。
  • 我删除了实体框架标签 - 这会让你们开心吗?

标签: c# sqlite


【解决方案1】:

欢迎回来!我希望食物很好。 :-)

您可以通过将自己的数据访问层 (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;它进入了更多细节。您的情况与该问题相同,尽管表面上看起来不同,因为您来自不同的起点。但是,一旦您了解了底层模式的工作原理,解决方案是相同的。

【讨论】:

  • 谢谢,这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多