我考慮過使用dapper
,但我仍然不喜歡使用內聯SQL的想法。有沒有關於stored procedures
想法,所以如果查詢有問題,它不需要recompilation
,只需要更改數據庫中的stored procedure
。有沒有其他選擇,例如將所有SQL queries
保留在自己的類庫中?
Dapper支持這兩個選項,並且對該主題沒有任何意見。
您的問題表明,部署代碼庫非常棘手。如果這是客戶端代碼,那可能有意義。對於服務器端代碼,重新部署應用程序通常比更改存儲過程更容易 - 最好是通過TeamCity之類的單擊進行1次單擊。當然,您的存儲過程也應該具有進程/部署控制。
在類庫中使用SQL不會對您造成太大影響:您仍需要重新部署才能獲得更改。當然,將面向數據的代碼放在UI(etc)代碼的單獨程序集中可能是有意義的,但這是本地架構決策。