【发布时间】:2010-12-08 11:00:20
【问题描述】:
我在一家大型企业中与 15 名开发人员一起工作。我们处理许多在 OLTP 数据库上有数百万条记录的表。数据仓库数据库要大得多。
我们正在着手开发一个需要开发的新系统,该系统将针对一个非常相似大小的数据库。我们每个人都非常精通 SQL、存储过程等。检查执行计划、定义正确的索引等。我们都非常熟悉 .NET C# 和 ASP.NET。
但是,我们每个人都在独立研究 ORM,但没有人能够理解它们解决的真正问题。相反,我们看到的是人们遇到的性能问题以及需要进行的所有调整以弥补不足。
另一个方面似乎是人们使用 ORM 是为了不必在处理数据库和 SQL 等时弄脏自己的手,但实际上你似乎无法逃避它太久,尤其是当说到性能。
所以我的问题是,ORM 解决(或试图解决)的问题是什么。
我应该注意到,我们的 OLTP 数据库中有大约 900 个表和超过 2000 个存储过程,我们的数据层是从我们的存储过程自动生成的,我们目前使用 ADO.NET 核心。
【问题讨论】:
-
我不想坚持这一点,900 个表太荒谬了……听起来像是一个失败的应用程序。 (意见)
-
2000 个存储过程?自动生成?双重失败。 (意见。)你不需要 ORM。
-
2000 个自动生成的 SP。生成一些客户端代码来配合它,并且 is 是一个 ORM。
-
有趣的是,你们所有人似乎对应用程序有一个扭曲的概念。根据我的经验,900 张桌子是一个小项目。你的经验是什么? 9?
-
900 个表可能是也可能不是一个大型项目,具体取决于您的架构的规范化程度。我所在的关系数据库有很多 TB 的数据,所以我认为这是值得的。我想我在增加价值,杰基。如果您太敏感,请不要公开发布您的问题。请长出皮肤。