“微型ORM”有哪些好处?
我一直在研究像Dapper这样的所谓的“微型ORM”,并且(由于它依赖于.NET 4.0,所以程度较轻),因为自我们当前的系统以来,这些方法在工作中可能比成熟的ORM更容易实现它高度依赖存储过程,因此需要大量重构才能与NHibernate或EF之类的ORM一起使用。与功能齐全的ORM相比,使用其中之一有什么好处?这似乎是围绕一个数据库连接只是薄薄的一层仍然强迫你写原始SQL -也许我错了,但我总是告诉了奥姆斯的原因首先是,所以你没有写SQL,它可以自动生成;特别是对于多表联接和表之间的映射关系,这在纯SQL中是很困难的,但是对于ORM来说却是微不足道的。 例如,看一个Dapper的例子: var connection = new SqlConnection(); // setup here... var person = connection.Query<Person>("select * from people where PersonId = @personId", new { PersonId = 42 }); 这与使用手动ADO.NET数据层有什么不同,除了您不必编写命令,设置参数并且我想使用Builder将实体映射回去外。看起来您甚至可以使用存储过程调用作为SQL字符串。 在使用Micro ORM有意义的地方,我还缺少其他明显的好处吗?我真的没有看到它如何通过使用ADO.NET的“旧”方式来节省任何东西,除了可能的几行代码外-您仍然必须写出找出需要执行哪些SQL(这可能会变得麻烦)以及您仍然必须映射表之间的关系(IMHO ORM最有帮助的部分)。