在使用Linq-to-SQL的數據庫層中實現額外功能的最佳方法是什麼?目前我正在尋找實現基於預設和類似任務添加信息的功能?何處爲數據庫層添加額外功能(Linq-to-SQL)
插入,更新和刪除操作需要訪問DataContext
和Table
類,否則無法訪問上下文。我見過使用Singleton的解決方案,但它看起來像一個黑客攻擊,我想知道是否有其他人遇到這個問題以及你的解決方案是什麼?是否有更好的方法來實現類似的功能。
我希望將此功能添加到數據庫層的原因是我有幾個應用程序都使用相同的數據庫對象,我希望能夠從所有應用程序使用這些功能,所以我不必重寫很多代碼。
這不完全是我的意思。我希望能夠執行復雜的操作,例如更新一個表格並根據第一個表格的信息將記錄添加到另一個表格。
說我選擇了一個客戶記錄,我想用信息更新它,當發生這種情況時,我希望它向「更新」表中添加另一條記錄以跟蹤更新發生的時間以及發生的時間。這僅僅是一個例子。需要做的事情可能會更復雜。
基本上我想添加一個方法到一個表對象來執行修改該表中的特定行,然後插入和更新其他對象。我知道你可以使用部分類,而且我已經廣泛地做到了。
例子:
db.Customers.Where(c => c.CustomerID == 5).AddOrder(orderDetails);
我覺得我真的不能把我的問題變成文字,使其理解:)