我們知道LINQ中的增刪改都要調用SubmitChanges方法,我們記錄所有SQL的方式就是重寫(override)DataContext中的SubmitChanges方法,為了避免每次修改dbml文件時影響我們自己寫的內容,我們要先寫一個DataContext的分布類,在這個類中重寫SubmitChanges方法。
代碼如下
Code
public partial class DataClasses1DataContext
{
public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
{
//記錄日志(每天一個文件,記錄所有更改sql,日志會存在第一個盤的log文件夾下)
string directory = Path.Combine(Directory.GetLogicalDrives().First(), "log");
Directory.CreateDirectory(directory);
string logFile = Path.Combine(directory,
"log" + DateTime.Now.ToLongDateString() + ".txt");
using (StreamWriter w = File.AppendText(logFile))
{
w.WriteLine("發生