這可能看起來像一個奇怪的問題,但它現在一直在困擾着我。鑑於我不是一個經驗豐富的程序員,而且我是該公司唯一的應用程序/ c#開發人員,所以我覺得有必要與你們進行合理的檢查。c#更新單個數據庫字段或整個對象?
我們已經創建了內部處理公司內部航運信息的應用程序,這個應用程序的工作原理與我們的IT辦公室的中央數據庫。
我們最近將DB從mysql切換到mssql,並且在轉換過程中我們決定放棄以前使用的web服務並使用應用程序角色直接連接到數據庫,爲了增加安全性,我們只允許訪問存儲過程和所有CRUD操作通過這些處理。
但是,我們目前有存儲過程用於更新我們的一個對象中的每個字段,這是很多存儲過程,因此在DataRepository的客戶端上需要很多工作(需要單獨的代碼來調用過程併爲每個程序傳遞正確的參數)。
所以我想,如果只是更新整個對象(在這種情況下,一個對象代表一個表,例如發貨),因爲很多數據會一次更改一個字段在初始插入之後,並且我們試圖保持網絡使用率下降,因爲一些客戶端將使用有限的互聯網運行。
請告訴我標準的做法這樣的事情?或者有沒有我忽略的方法?
Baring mind這是一個相對較小的應用程序,實體框架看起來像是矯枉過正。你也會說「儘可能在進程中存儲過程」,爲什麼會這樣? – Ben
實體框架並不過分,新技術比舊技術簡單不復雜。我建議放棄存儲過程的原因是因爲維護起來不那麼痛苦,如果你是孤獨的,你的情況更是如此,一切都在LINQ的代碼中,沒有部署與你的DBA同步,沒有你的SQL語句之外的任何SQL語句源代碼控制等等。由於我轉換到了實體框架/ linq思維模式(早在linq到sql的早期階段),我不必輸入多於幾十行的sql,並且我不會錯過它。 –
我有個人做數據庫工作,因爲我遠不是TSQL專家,他處理存儲過程。我們在以前的幾個關於它增加額外安全性的問題上提出了一些建議後使用它們,因爲這些客戶端通過互聯網訪問數據庫(通過SSL) – Ben