[討論] ORM or Raw SQL
最近在開發新的專案,與同事在討論ORM的相關問題。
之前以MVC架構在開發網頁時,Model的部分還是用ado .NET,但利用Reflection
的方式,將他映射回類別,所以即使用ado來開發,但模型驗證的部分,還是可以
繼續使用。
之前會繞過ORM以ADO開發的原因是,團隊成員對SQL熟到炸了,不想為了取得資料,
來去學習ORM(學習也是成本),另外ORM也有它的極限,需要用到一堆join跟SQL函數
時,真的不知道該怎麼把他轉為ORM的寫法...
最近的案子,突然決定Model部分全部改為ORM的方式做處理,但是一遇到棘手的複雜查詢
,又非得回到ado的方式來做處理。
想請問大家在工作上,ado的使用者多還是ORM的使用者多?
對於複雜查詢時,又必須以ado的方式來解,或者將他包成stored procedure或view,
再用ORM去excute,這樣感覺像是再走回頭路,明明要去SQL化(物件導向),但一遇到複
雜查詢卻又非得回到ado的方式,Programmer必須得會SQL跟ORM,在程式裡出現2種風
格的model,其實我還蠻無法接受的....
以上跟各位分享與討論.....
(此篇非抱怨文,我已經習慣ORM的作業方式,但無法說服自己,必須在model寫成2種風格)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.44.74
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1407076959.A.511.html
※ 編輯: MacPerson (36.234.44.74), 08/03/2014 22:44:04
推
08/03 22:44, , 1F
08/03 22:44, 1F
→
08/03 22:45, , 2F
08/03 22:45, 2F
→
08/03 22:45, , 3F
08/03 22:45, 3F
對阿 較複雜的操作,還真的得回ado .... 這個點我真的無法說服自己
※ 編輯: MacPerson (36.234.44.74), 08/03/2014 22:47:47
推
08/03 22:48, , 4F
08/03 22:48, 4F
→
08/03 22:49, , 5F
08/03 22:49, 5F
問題是 我不需要優化他 只是因為複雜操作時,又必須把它包成SP 或view,感覺就是
很想擺脫SQL 但卻又拔不掉的感覺...
※ 編輯: MacPerson (36.234.44.74), 08/03/2014 22:51:33
→
08/03 22:50, , 6F
08/03 22:50, 6F
→
08/03 22:50, , 7F
08/03 22:50, 7F
ORM再做批次寫入時的確是有效能影響,可能要採取類似 BULK的方式來做
推
08/03 22:54, , 8F
08/03 22:54, 8F
→
08/03 22:54, , 9F
08/03 22:54, 9F
→
08/03 22:55, , 10F
08/03 22:55, 10F
→
08/03 22:56, , 11F
08/03 22:56, 11F
→
08/03 22:56, , 12F
08/03 22:56, 12F
推
08/03 22:58, , 13F
08/03 22:58, 13F
的確是,但無疑關聯是資料庫是目前最廣為使用的DB,勢必會做上複雜查詢
還是希望之後ORM能夠克服這些問題
→
08/03 22:59, , 14F
08/03 22:59, 14F
→
08/03 23:01, , 15F
08/03 23:01, 15F
→
08/03 23:01, , 16F
08/03 23:01, 16F
推
08/03 23:04, , 17F
08/03 23:04, 17F
→
08/03 23:05, , 18F
08/03 23:05, 18F
→
08/03 23:06, , 19F
08/03 23:06, 19F
→
08/03 23:07, , 20F
08/03 23:07, 20F
自從我用了ORM也像發現新大陸一樣,以前insert 的sql statement要寫一大串,現在2行
有嚇到.... 不過在複雜查詢要回過頭寫SQL 我倒是覺得無言..
※ 編輯: MacPerson (36.234.44.74), 08/03/2014 23:10:10
→
08/03 23:08, , 21F
08/03 23:08, 21F
→
08/03 23:17, , 22F
08/03 23:17, 22F
→
08/03 23:19, , 23F
08/03 23:19, 23F
→
08/03 23:20, , 24F
08/03 23:20, 24F
→
08/03 23:23, , 25F
08/03 23:23, 25F
→
08/03 23:23, , 26F
08/03 23:23, 26F
→
08/03 23:24, , 27F
08/03 23:24, 27F
是阿~ 謝啦 前輩 不過這篇文覽的刪了....
※ 編輯: MacPerson (36.234.44.74), 08/03/2014 23:25:50
推
08/03 23:33, , 28F
08/03 23:33, 28F
→
08/03 23:34, , 29F
08/03 23:34, 29F
→
08/03 23:35, , 30F
08/03 23:35, 30F
→
08/03 23:35, , 31F
08/03 23:35, 31F
推
08/03 23:36, , 32F
08/03 23:36, 32F
推
08/04 00:49, , 33F
08/04 00:49, 33F
推
08/04 00:50, , 34F
08/04 00:50, 34F
推
08/04 00:52, , 35F
08/04 00:52, 35F
推
08/04 01:20, , 36F
08/04 01:20, 36F
推
08/04 08:35, , 37F
08/04 08:35, 37F
→
08/04 08:36, , 38F
08/04 08:36, 38F
→
08/04 08:37, , 39F
08/04 08:37, 39F
→
08/04 08:38, , 40F
08/04 08:38, 40F
→
08/04 08:39, , 41F
08/04 08:39, 41F
推
08/04 09:18, , 42F
08/04 09:18, 42F
推
08/04 09:31, , 43F
08/04 09:31, 43F
推
08/04 10:38, , 44F
08/04 10:38, 44F
推
08/04 10:48, , 45F
08/04 10:48, 45F
推
08/04 13:22, , 46F
08/04 13:22, 46F
推
08/04 20:54, , 47F
08/04 20:54, 47F
→
08/04 20:54, , 48F
08/04 20:54, 48F
→
08/04 23:18, , 49F
08/04 23:18, 49F
推
08/05 10:42, , 50F
08/05 10:42, 50F
推
08/05 23:05, , 51F
08/05 23:05, 51F
→
08/05 23:05, , 52F
08/05 23:05, 52F
討論串 (同標題文章)