最近在开发新的专案,与同事在讨论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种风格)