呵呵,一個有趣的話題,事務(不是TSQL中的事務,隻是指
System.Transactions下的TransactionScope類型)底道應該放在哪個層?
可以說,這個話題看你怎麼看了:
如果同意在BLL層的,理由是:事務主要用來處理複雜邏輯,而複雜邏輯操作多表時需要用到事務,是以事務放在BLL層用來實作“邏輯組合”。而DAL層隻負責最基礎的資料操作,不管業務邏輯。
如果同意在DAL層的,理由是:一切與資料直接相關的操作,都應該限制在資料層。
對于我來說,具體問題還要具體去看,如果是固定不變,公用的流程我放在DAL,如果是比較特殊的處理,我會放在BLL中。
例如:我把使用者添加放在的BLL層
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iN2UzM3gzM0cDMlZGZkZDMzYzXwEzNyATM1IzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)