gpt4 book ai didi

entity-framework - ORM 大容量数据库

转载 作者:行者123 更新时间:2023-12-04 08:29:40 26 4
gpt4 key购买 nike

我正在从事面向数据的新项目意味着非常大量的数据(每天都在增加)。所以请建议我应该使用哪种方法来实现所需的功能而没有任何障碍。

  • 数据库是否完全规范化?
  • 哪个ORM(linq2sql, Entity Framework )适合这个项目?
  • 我应该使用存储过程、数据库函数、触发器等吗?
  • 最佳答案

    数据库是否规范化是一回事 需要知道,需要回答!

    至于 ORM:它实际上取决于数据的类型及其结构。

    Linq-to-SQL 是一个非常简单的 ORM,它基本上只是将表 1:1 映射到域对象。只要您不需要其他任何东西 - 就可以了。 Linq-to-SQL 不再被积极开发,所以这可能是一个缺点。此外,存储过程支持有点有限。

    Entity Framework (至少在 .NET 4 中)很棒,并且是 Microsoft 当前首选的 ORM - 它正在积极开发,有很多支持,很大的灵活性。它提供数据库优先、模型优先和代码优先的开发风格,支持 POCO 对象和自跟踪实体,并且与存储过程很好地集成(您可以为每个单独的 INSERT、UPDATE、DELETE 定义一个存储过程实体,如果您愿意的话)。这将是我的第一选择。

    NHibernate 是一个伟大的企业级 ORM,已经建立并正在积极开发——当然不是像 Linq-to-SQL 那样的“死胡同”。几年前用过,虽然很强大,但也比EF4难学一点(没有视觉设计师,需要更多的体力劳动,体力劳动)。如果您真的需要它的所有功能并且愿意投入必要的前期学习时间,那就太好了。

    至于数据库:存储过程绝对值得研究,特别是如果您需要将某些数据库处理封装到一个很好的过程中以从您的代码中调用。对于过多地使用触发器和函数,我会相当谨慎和防御——它们有它们的位置,但它们不应该被过度使用,因为它们确实存在一些问题(主要是性能问题和“可发现性”问题——许多开发人员不要考虑可能存在的触发器,并且不会理解发生了什么)。

    关于entity-framework - ORM 大容量数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6176354/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com