博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework Logging and Intercepting Database Operations (EF6 Onwards)
阅读量:5252 次
发布时间:2019-06-14

本文共 2699 字,大约阅读时间需要 8 分钟。

1.自定义日志

public class LogHelper    {        public static void DbInfo(string str)        {            string className = "方法名";            string path = "/DbInfo.txt";            if (string.IsNullOrEmpty(path))            {                path = "/DbInfo.txt";            }            string oriPath = HttpContext.Current.Request.MapPath("/LogFile");            if (!Directory.Exists(oriPath))            {                Directory.CreateDirectory(oriPath);            }            try            {                FileStream fs = new FileStream(HttpContext.Current.Request.MapPath("/LogFile" + path), FileMode.Append);                StreamWriter sw = new StreamWriter(fs);                //开始写入                var host = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority;                sw.WriteLine(string.Format("domain={0},className={1},time={2}", host, className, DateTime.Now));                sw.WriteLine(str);                //清空缓冲区                sw.Flush();                //关闭流                sw.Close();                fs.Close();            }            catch (Exception)            {                           }           }}
View Code

2. Set DbContext.Database.Log property 

public class QxunDbContext : DbContext     {        public QxunDbContext()            : base("server=localhost;uid=sa;pwd=6665508a;database=Qxun;")        {            this.Database.Log = LogHelper.DbInfo;        }                public DbSet
Departments { get; set; } public DbSet
Courses { get; set; } }
View Code

3.Show LogInfo

domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10已于 2017/7/8 星期六 上午 11:22:10 +08:00 打开了连接domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10已于 2017/7/8 星期六 上午 11:22:10 +08:00 启动了事务domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10INSERT [dbo].[Courses]([Title], [Credits])VALUES (@0, @1)SELECT [CourseID]FROM [dbo].[Courses]WHERE @@ROWCOUNT > 0 AND [CourseID] = scope_identity()domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10-- @0: 'Title' (Type = String, Size = -1)domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10-- @1: '1' (Type = Int32)domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10-- 正在 2017/7/8 星期六 上午 11:22:10 +08:00 执行domain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10-- 已在 0 毫秒内完成,结果为: SqlDataReaderdomain=http://localhost:50462,className=方法名,time=2017/7/8 星期六 上午 11:22:10
LogInfo

 

转载于:https://www.cnblogs.com/liandy0906/p/7136226.html

你可能感兴趣的文章
自动从网站上面下载文件 .NET把网站图片保存到本地
查看>>
【识记】 域名备案
查看>>
STL uva 11991
查看>>
MY SQL的下载和安装
查看>>
自定义OffMeshLink跳跃曲线
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
学习Redux之分析Redux核心代码分析
查看>>
ABAP 创建和调用WebService
查看>>
C# 实例化顺序
查看>>
CSS水平垂直居中总结
查看>>
委托又给我惹麻烦了————记委托链的取消注册、获取返回值
查看>>
ps怎么把白色背景变透明
查看>>
gource 安装教程
查看>>
字符串转 Boolean 的正确方式
查看>>
给你的网站404页面加上“宝贝寻亲”公益页面
查看>>
整理推荐的CSS属性书写顺序
查看>>
协程, IO阻塞模型 和 IO非阻塞模型
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>