1

該計劃是使用實體框架進行數據訪問。在決定是否使用存儲過程時,我們處於兩難的境地。爲實體框架建議數據訪問設計(存儲過程較少)

避免存儲過程的主要思想:我們不希望任何人在數據庫級別寫入業務邏輯。我相信數據庫僅用於存儲。

如果我在數據訪問級別編寫連接,業務邏輯,是否會有性能下降?這和存儲過程一樣好嗎?請提供您的建議。

Regards, Ramana Akula。

+0

可能的重複[如果使用Linq和EF是SP是多餘的(最佳實踐)](http://stackoverflow.com/questions/4517891/are-sps-redundant-if-using-linq-and-ef-best -實踐) – Eranga 2012-02-11 14:08:25

回答

1

SP缺點:

  1. SP代碼是 「固定的」 - 例如您在這裏沒有LINQ靈活性。這需要額外的同步水平。
  2. 在大多數情況下應由專家撰寫。幾乎所有C#開發人員歷史上都不太擅長。
  3. 儘管您爲SP保留了額外的努力,但仍未獲得顯着的性能改進
  4. 即使您沒有意向,SP也會包含業務邏輯代碼的某些部分。
  5. 如果您對SP維護有一些控制(或者您想爲DAL添加一些過早的優化),則您需要越來越多的SP:getXbyY,getXbyZ,getSomeFieldByX,geAnotherFieldsByX等等。

所以我的意見是儘可能避免SP。如果你覺得你需要一個,那可能表明數據/存儲結構設計不正確。