
外面没嵌套try...catch吧??检查下各字段是不是有什么约束
我们知道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("发生时间:{0}", DateTime.Now.ToString())
w.WriteLine("日志内容为:")
this.Log = w
try
{
base.SubmitChanges(failureMode)
}
catch (Exception e)
{
w.WriteLine("异常:" + e.Message + e.StackTrace)
w.WriteLine("--------------------------------------------------------------")
throw
}
finally
{
this.Log = null
}
w.WriteLine("--------------------------------------------------------------")
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)