ORM和微ORM有什么区别?

Mur*_*uga 6 orm dapper micro-orm entity-framework-6 difference

请提及(大)ORM和微ORM之间的区别.微ORM比大ORM有什么优势.例如.实体框架ORM和精巧的微型ORM之间的区别.

Mar*_*ell 6

它们只是不同的工具。微型ORM的主要目标是删除大量数据访问代码不需要的许多层-基本上提供最小的API表面,并通过提供可简化性带来的性能优势来尝试平衡这些表面。例如,您希望在ORM中找到但在微型ORM中可能不可用的东西包括(取决于所使用的特定工具以及所带的其他扩展库):

  • 子成员的延迟加载(可能通过多态运行时类型生成,也许通过代码生成)
  • 身份追踪
  • 变更追踪
  • 丰富的复杂映射系统,支持多个后端数据库上的任意数据模型
  • 从复杂的LINQ表达式树或其他DSL生成复杂的查询
  • 工作单元API-本质上是SubmitChanges()一种找出并应用一系列相关更改的方法

请注意,它们并不是互斥的:您可以在同一代码库中使用这两种方法,具体取决于您在不同地方的需求。