天天看點

EF架構~Dapper.Contrib不能将Linq翻譯好發到資料庫,是以請不要用它

對于Dapper是一個輕量級的資料通路架構,而需要使用者去自己做SQL,它,隻是一個資料通路者!

對些,Dapper推出了Contrib擴充包,它可以友好的讓開發人員使用linq,而不需要寫SQL,但在使用時要注意,你的增,删,改,單表查詢是可以用它的,但對于多表的join操作就不要用了,因為它不會像linq2sql和ef那樣進行牛X的翻譯,它會将select * from tables這種語句發到資料庫,結果可想而知!

相同的代碼dapper和ef發到資料庫是截然不同的:

EF架構~Dapper.Contrib不能将Linq翻譯好發到資料庫,是以請不要用它

dapper這樣發過去的

EF架構~Dapper.Contrib不能将Linq翻譯好發到資料庫,是以請不要用它

而通過EF做多表Join時,被發到資料庫端的語句是

EF架構~Dapper.Contrib不能将Linq翻譯好發到資料庫,是以請不要用它

最後結論,我想不用我再重複了吧!

記得,不要用Dapper.contrib做Linq join操作!