我工作的公司開發了一個幾乎完全基於存儲過程的大型應用程序。混合存儲過程業務邏輯和ORM
我們使用經典的ASP和SQL Server,業務邏輯的主要部分包含在這些存儲過程中。例如,(我知道,這是不好的......)單個存儲過程可以用於不同的目的(插入,更新,刪除,進行一些計算,...)。大多數情況下,存儲過程用於相關表上的操作,但情況並非總是如此。
我們計劃在不久的將來轉移到ASP.NET(WebForms)。
我已經閱讀了很多關於StackOverflow的文章,建議我將業務邏輯移到數據庫之外。 事情是,我試圖說服那些在我們公司作出決定的人,並且我沒有辦法改變他們的想法。
由於我希望能夠使用面向對象編程的優點,我想將表映射到實際的類。 到目前爲止,我的解決方案是使用ORM(Entity Framework 4或nHibernate)來避免手動映射對象(主要用於檢索數據)並使用某種數據訪問層調用現有的存儲過程(用於保存) 。
我想要你的建議。 您認爲這是一個很好的解決方案嗎?有任何想法嗎?
編輯:我應該只使用標準的DataTable/DataRow方法嗎?
您仍然可以通過ORM調用procs。 – ScottE 2011-01-12 18:48:54
@ScottE:我知道,但如果我的sp的參數沒有映射到類成員,它會工作嗎?我們使用一個奇怪的連接字符串進程來傳遞一個參數到sp(例如:「^ custid = 123^custname = blabla^adress = 1000 1st avenue」),然後在sp中解析它。 – Jason 2011-01-12 19:07:11
呃,骯髒! – ScottE 2011-01-12 21:25:46