【发布时间】:2011-12-21 14:19:33
【问题描述】:
不确定是否有“官方”名称,但我所说的 DataContext 是指透明地维护对象状态的对象,提供更改跟踪、工作说明功能、并发性以及可能许多其他有用的功能。 (在实体框架中它是 ObjectContext,在 NHibernate - ISession 中)。
最终我想到应该在我的应用程序中实现类似的东西(它使用 mongodb 作为后端,当我们能够跟踪某个属性更改时,mongodb 的部分更新就可以了)。
所以实际上,我有几个关于这个主题的问题
谁能制定对 DataContext 的要求? - 你对它的任务和责任有什么理解? (我设法找到的最相关的是 Esposito 的书,但不幸的是,这大约是 msdn 样本级别)。
对于更改跟踪实施,您有何建议? (以最简单的方式,可以“手动”跟踪实体中的更改,但需要编码并将 dal 与业务逻辑混合,所以我最感兴趣的是“自动”方式,让实体更加 poco)。
有没有办法利用一些现有的解决方案? (我希望 nhibernate 基础设施允许插件自定义模块在幕后使用 mongo,但不确定它是否允许使用非 sql 数据库)。
【问题讨论】:
-
获取 Fowler 的“企业应用架构模式”的副本。它详细介绍了存储库、工作单元和其他相关模式。
-
对,我知道模式细节,主要是如何在“数据上下文”范围内统一所有这些抽象。
标签: c# architecture orm data-access-layer