【问题标题】:Data access layer with multiple data sources具有多个数据源的数据访问层
【发布时间】:2015-07-12 00:59:26
【问题描述】:
我有一个任务:我需要创建数据访问层,它可以处理多个数据源(json 文件、xml 文件、sql server)。但我只是不知道应该怎么做。
我尝试通过继承 DBContext 类(类似于 JsonContext)来创建自己的上下文,该类包含 json 文件的路径并执行 I/O 操作,但现在我认为它看起来有点愚蠢:)。
也许我可以创建基本存储库的接口并用每个数据源实现它?或者也许存在可以帮助我的模式或做法?
【问题讨论】:
标签:
json
entity-framework
repository
data-access-layer
【解决方案1】:
采用 EntityFramework 为您生成的 DbContext 并将其用作所有不同数据源的公共基类(JsonContext 继承自 DbContext)并不是一个坏主意。但是,我看到这种方法的问题是,当你实例化一个 JsonContext 时,它会调用基类 DbContext 的构造函数,并尝试连接到 SQL Server,这不是你想要的。
我不知道是否有一种可接受的模式来做你想做的事情,所以我认为你可能只需要发明自己的通用接口或基类来提供所有具体数据源将不得不实施。