Tyl*_*ght 2 c# nhibernate onion-architecture
我试图将NHibernate从我的服务层分离出来.我的架构看起来像这样:
web - > services - > repositories - > nhibernate - > db
我希望能够从我的服务层和可能的我的web层产生nhibernate查询,而不知道那些层知道他们正在处理什么样的orm.目前,我在我的所有存储库中都有一个find方法IList<object[]> criteria.这允许我传递一个标准列表,例如new object() {"Username", usernameVariable};从我的架构中的任何地方.NHibernate接受它并创建一个新的Criteria对象并添加传入的标准.这适用于我的服务层的基本搜索,但我希望能够传入我的存储库转换为NHibernate Criteria的查询对象.
真的,我很乐意实现类似于这个问题所描述的内容:抽象nhibernate标准是否有价值.我只是没有找到任何关于如何实现这样的东西的好资源.该问题中描述的方法是一种好方法吗?如果是这样,有人可以提供一些关于如何实施这样的解决方案的指示吗?
抽象出ORM将:
并且所有这些都是非常有价值的:交换ORM框架的模糊选项很可能会有很多其他问题
更新:经验
我曾经参与实现现有DAL抽象的新提供者.它最终表现不佳,引入了很多错误,错误处理是一团糟,有时使用陈旧数据,因为应用程序采用了默认实现.原因:
它花了很多重构应用程序:
附加要点:
移植(业务任务)对IMO的影响要小得多,因为我们因为性能而为少数人做了这样的事情.
Update2:experience2:尝试从NHibernate移植到EntityFramework时尝试使用RoadBlocks(使用NH进行移植但在合理时间内无法使用EF 4)
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |