对于Dapper是一个轻量级的数据访问框架,而需要使用者去自己做SQL,它,只是一个数据访问者!
对些,Dapper推出了Contrib扩展包,它可以友好的让开发人员使用linq,而不需要写SQL,但在使用时要注意,你的增,删,改,单表查询是可以用它的,但对于多表的join操作就不要用了,因为它不会像linq2sql和ef那样进行牛X的翻译,它会将select * from tables这种语句发到数据库,结果可想而知!
相同的代码dapper和ef发到数据库是截然不同的:
dapper这样发过去的
而通过EF做多表Join时,被发到数据库端的语句是
最后结论,我想不用我再重复了吧!
记得,不要用Dapper.contrib做Linq join操作!
本文转自博客园张占岭(仓储大叔)的博客,原文链接:EF架构~Dapper.Contrib不能将Linq翻译好发到数据库,所以请不要用它,如需转载请自行联系原博主。