【问题标题】:Structure for switchable Data Access Layer可切换数据访问层的结构
【发布时间】:2012-10-24 16:31:35
【问题描述】:

我需要使用实体框架编写数据访问层。要求之一是允许配置文件控制数据的来源。使用一个配置设置,它应该来自数据库;与另一个,来自网络服务。

现在,我最初的想法是拥有 3 个 DataAccess 类:

  • 小部件数据访问
  • WidgetDatabaseDataAccess
  • WidgetWebServiceDataAccess

它们都将实现相同的接口。 WidgetDataAccess 将读取配置并委托给正确的子类。这似乎是明智的,对吧?

有什么我应该遵循的模式,或者任何有更好的方法来构建它的人吗?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework design-patterns


    【解决方案1】:

    是的,存储库/UnitOfWork 模式。

    • Widget.Core:您的 MVC 应用程序仅使用 Widget.DAL 命名空间,依赖项根据您的配置文件注入 Widget.DAL.DatabaseService 或 Widget.DAL.WebService
    • Widget.DAL:IRepository、IUnitOfWork、IWhateverYouNeed、DTO
    • Widget.DAL.DatabaseService:实体框架模型和上下文。使用实体框架上下文实现 Widget.DAL 接口
    • Widget.DAL.WebService:Web 客户端、域对象、使用 Web 客户端的 Widget.DAL 接口实现

    【讨论】:

    • 我读到存储库模式不受欢迎。这是要考虑的事情吗?
    猜你喜欢
    • 2010-11-14
    • 2011-02-17
    • 2011-02-16
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2013-04-19
    相关资源
    最近更新 更多