【发布时间】:2013-02-08 14:24:33
【问题描述】:
我知道那里有很多存储库模式问题,但我希望有人能帮助我理解一些原则。
我总是看到使用上下文的存储库类构造函数,这个上下文通常是 EF 或 NHibernate。然后很容易将 dbset<T> 用于 CRUD 方法。由于我不使用这样的东西,而是通过 API 调用对非 sql 数据源进行调用,所以当没有底层上下文时,我无法弄清楚如何使用Repository<T> 和T GetById(int id) 之类的方法知道如何将<T> 翻译成正确的对象。我是否必须创建自定义上下文和我自己的数据映射?我最终会为我拥有的每个课程都有一个特定的存储库吗?不知何故,在某个地方,我需要获取 <T> 并知道它是什么,以便创建它并填写它的属性。
我已经看到了一些将存储库模式与文件一起使用的示例,看起来每种类型都有自己的存储库,在其中完成调用和映射。
任何针对多个数据源的存储库模式示例?
【问题讨论】:
-
没有什么说您必须创建一个通用存储库。你最好在你的情况下创建特定的。
标签: repository repository-pattern data-mapping