组织数据库工作的最佳方式

我想知道组织使用C#代码处理数据库的最佳方式是什么。

我曾经有过不同的方法:

  • 每个对象都有Save,Update和Delete方法,它们实现了所有的逻辑。
  • 有一些静态类具有静态方法Get,GetList,Update - 几乎与以前一样,但数据库逻辑是从数据域类中提取的。
  • 现在我认为为每个需要存储在某个地方的datadomain类设置一些非静态类,这将会非常棒,它将完成存储。

    什么是最好的方式来做到这一点? 有没有好的库提供良好的API来存储对象?


    使用对象/关系映射器(ORM)。 我个人最喜欢的是nhibernate。 如果您需要Microsoft产品,请使用Entity Framework。

    ORM通常实现UnitOfWork和Repository模式,这使得您可以更轻松地处理数据库操作并遵循单一责任原则。

    你还提到了单身人士。 如果可能,我会避免它们。 你有没有试过单元测试一个使用单例的类? 除非单身人士是实际实施的代理人,否则这是不可能的。 删除单例最简单的方法是通过使用依赖注入来反转依赖关系。 有几个容器可用。


    目前推荐的使用数据库的方式是通过ORM。

    看看nHibernate(社区项目)和Entity Framework(微软提供的)为.NET的一些最流行的选择,但还有很多更多。

    这些库为您提供所需的所有数据访问,并提供一些所需的配置。


    存储库模式是构建数据访问逻辑的一种非常常见的方式。

    链接地址: http://www.djcxy.com/p/82131.html

    上一篇: The best way to organize work with database

    下一篇: Dependency inversion. Object creation