专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » linqtosql:用日志记录LINQ中的所有增删改的SQL语句的思路方法 »正文

linqtosql:用日志记录LINQ中的所有增删改的SQL语句的思路方法

来源: 发布时间:星期三, 2009年1月21日 浏览:5次 评论:0
="t18">我们知道LINQ中增删改都要SubmitChanges思路方法我们记录所有SQL方式就是重写(override)DataContext中SubmitChanges思路方法为了避免每次修改dbml文件时影响我们自己写内容我们要先写个DataContext分布类在这个类中重写SubmitChanges思路方法
代码如下
Code
public partial DataClasses1DataContext
{
public override void SubmitChanges(.Data.Linq.ConflictMode failureMode)
{
//记录日志(每天个文件记录所有更改sql,日志会存在第个盘log文件夹下)
directory = Path.Combine(Directory.GetLogicalDrives.First, "log");
Directory.CreateDirectory(directory);
logFile = Path.Combine(directory,
"log" + DateTime.Now.ToLongDateString + ".txt");
using (StreamWriter w = File.AppendText(logFile))
{

w.WriteLine("发生时间:{0}", DateTime.Now.);
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("--------------------------------------------------------------");

}


}
}


如果想把sql语句全部记录到数据库代码如下:



Code
public partial DataClasses1DataContext
{
StringBuilder sb = StringBuilder;
using (StringWriter sw = StringWriter(sb))
{

sw.WriteLine("发生时间:{0}", DateTime.Now.);
sw.WriteLine("日志内容为:");
this.Log = sw;
try
{
base.SubmitChanges(failureMode);
sqlStr = "insert o logTable(Content)values( '"+sb.+"')";
//SqlConnection con=
using (SqlConnection con= SqlConnection(this.Connection.ConnectionString))
{
con.Open;
SqlCommand cmd = SqlCommand(sqlStr, con);
cmd.ExecuteNonQuery;
}

}
catch (Exception e)
{
//记录日志(每天个文件记录所有更改sql,日志会存在第个盘log文件夹下)

directory = Path.Combine(Directory.GetLogicalDrives.First, "log");
Directory.CreateDirectory(directory);
logFile = Path.Combine(directory,
"log" + DateTime.Now.ToLongDateString + ".txt");
using (StreamWriter w = File.AppendText(logFile))
{
w.WriteLine("发生时间:{0}", DateTime.Now.);
w.WriteLine("日志内容为:");
w.WriteLine(e.Message);

}
}
finally
{
this.Log = null;
}
}


源码下载
http://files.cnblogs.com/nuaalfm/LogLinqSql.rar
http://www.cnblogs.com/nuaalfm/archive/2009/01/20/1378841.html

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: