我正在.NET 中开发一个事务应用程序,并希望获得一些关于如何正确封装数据库访问的意见,以便:
- 我没有到处都有连接字符串
- 从不同的函数多次调用同一个存储过程
- 或更糟糕的是,单个列不同的多个存储过程
我很想知道使用像 NHibernate 这样的 ORM 是否有用,因为它可能只会为快速变化的数据模型增加另一层复杂性,并且需要在紧凑的时间内生成工件。
我对 ORM 包以外的方法或模式更感兴趣。
我正在.NET 中开发一个事务应用程序,并希望获得一些关于如何正确封装数据库访问的意见,以便:
我很想知道使用像 NHibernate 这样的 ORM 是否有用,因为它可能只会为快速变化的数据模型增加另一层复杂性,并且需要在紧凑的时间内生成工件。
我对 ORM 包以外的方法或模式更感兴趣。
如果看起来这是一个重要的项目,而 DAL 是一个主要的风险因素,请让以前做过的人参与进来。你说得对,在没有扎实经验的情况下第一次尝试做对,有太多的方法会偏离轨道。
有许多模式可以实现这一点,但我会寻找那些拥有一套简单的、定义明确的模式的人,他们完全可以接受。
如上所述,检查存储库和工作单元模式。强烈推荐福勒和埃文斯的书。karl seguin 的读者也是如此,它给了我对刚刚提到的书籍的更酷的介绍。在http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx获取它
作为 Java 开发人员,我建议阅读 jdbc 模板,尽管它不是 .NET,但您可以了解 Spring 框架如何封装数据访问层并获得一些想法。