在EF6.0中打印数据库操作日志

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
using System.IO;  
namespace EFLogging {  
    class Program {  
        private static CSharpCornerEntities context = new CSharpCornerEntities();  
        static void Main(string[] args) {  
            context.Database.Log = logInfo => FileLogger.Log(logInfo);  
            InsertEmployeeRecord();  
            UpdateEmployeeRecord(10024);  
            context.Database.Log = Console.Write;  
        }  
        private static void UpdateEmployeeRecord(long employeeID) {  
            //Linq  
            var empData = (from employee in context.Employees where employee.ID == employeeID select employee).FirstOrDefault();  
            //Lambda  
            //var empData = context.Employees.Where(a => a.ID.Equals(employeeID)).ToList();  
            empData.Location = "UK";  
            context.Entry(empData).State = System.Data.Entity.EntityState.Modified;  
            context.SaveChanges();  
        }  
        private static void InsertEmployeeRecord() {  
            context.Employees.Add(new Employee {  
                Designation = "Software Engineer ", Location = "Chennai", Name = "DummyRecord"  
            });  
            context.SaveChanges();  
        }  
    }  
    public class FileLogger {  
        public static void Log(string logInfo) {  
            File.AppendAllText(@ "C:\Users\SMKG\Desktop\Logger.txt", logInfo);  
        }  
    }  
}  

 

posted on 2018-07-03 17:43  傍晚雨  阅读(208)  评论(0编辑  收藏  举报