在数据访问层中,标准ORM的替代方案是什么?
我们都熟悉关系数据库的基本ORM:一个对象对应于一行,该对象中的一个属性对应于一列,尽管许多ORM都添加了很多细节在数据访问层中,标准ORM的替代方案是什么?,orm,data-access-layer,Orm,Data Access Layer,我们都熟悉关系数据库的基本ORM:一个对象对应于一行,该对象中的一个属性对应于一列,尽管许多ORM都添加了很多细节 我想知道还有什么其他选择(除了对数据的原始访问)。只使用关系数据库的替代方案是很好的,但是除了SQL(如平面文件、RSS、NoSQL等)之外,还可以以统一的方式使用多种类型的后端的替代方案会更好。我更感兴趣的是想法,而不是具体的植入以及它们使用的语言/平台,但请链接到您认为有趣的任何内容 您的基本选择是: 只需使用原始SQL 选择一个符合您需求的ORM。大多数平台有多种选择例如.
我想知道还有什么其他选择(除了对数据的原始访问)。只使用关系数据库的替代方案是很好的,但是除了SQL(如平面文件、RSS、NoSQL等)之外,还可以以统一的方式使用多种类型的后端的替代方案会更好。我更感兴趣的是想法,而不是具体的植入以及它们使用的语言/平台,但请链接到您认为有趣的任何内容 您的基本选择是:
- 只需使用原始SQL
- 选择一个符合您需求的ORM。大多数平台有多种选择例如.NET平台支持LINQ、nHibernate、实体框架等
- 编写自己的ORM和/或数据访问框架
- 某种内部实现,可以与正在使用的任何东西进行通信(类似于JDBC驱动程序,但不需要使用SQL)
- 将数据转换为java对象的某种映射(或多或少类似于ORM)
现在,我只为SQL相关数据源开发了一个引擎,但它已经准备好独立于它。我不是故意无礼,但我在问题中特别提到了这一点。任何平台都是好的,我对这个概念比对实现更感兴趣。@Lukas Eder为什么要关闭这个“基于意见”的平台?作者似乎在寻找ORM的替代品——这可能会让你对ORM有一个看法,但这个问题仍然有效,而且还有替代品。在那个问题上,你从哪里推断出一个观点?@Swarmsjohn,好老问题。我一直在从事一个开源项目,该项目提供了一个很好的ORM替代方案,重点关注高延迟连接(云SQL/NoSQL)。我很想听听你的想法:@LukasEder这本书永远不应该以“基于意见”的方式关闭,里面没有任何东西需要发表意见。它简单地问“替代方案是什么…”而不是“哪些是好的/坏的/为什么?”最后一句“我更感兴趣的是想法,而不是具体的植入以及它们使用的语言/平台,但请链接到您认为有趣的任何内容。”应该删除/编辑,以保持问题的客观性并给出具体的答案。我想问的是,除了ORM之外,是否还有其他用于数据访问的抽象。除非每个人都在使用ORM作为“比原始SQL更高级的一切”的总括,否则人们在封装对数据库的访问方面肯定还有其他想法。也许,但如果你看看所有不同的ORM解决方案,你会发现其中有很多种。例如,比较LINQ、Ruby on Rails ActiveRecord和Sybase的DataWindow.NET——所有这些都可以被视为“ORM”,但它们都使用各自独特的方法。@请以非ORM数据访问库为例进行检查。