EntityFramework6写的数据访问框架之一 BaseDb
来源:互联网 发布:mac如何切换双系统 编辑:程序博客网 时间:2024/05/22 07:56
using System;using System.Collections.Generic;using System.Data.Entity;using System.Data.Entity.ModelConfiguration.Conventions;using System.Diagnostics;using System.Linq;using System.Text;namespace MyTest{ public class BaseDb : DbContext { bool isNew = true;//是否是新的sql执行 string strMsg = "";//sql执行的相关信息 string strConn = "";//数据库连接字符串 string UserName = "";//日志用户名称 string AdditionalInfo = "";//日志额外信息 public BaseDb(string connString) : // 数据库链接字符串 base(connString) { strConn = connString; Database.SetInitializer<BaseDb>(null);//设置为空,防止自动检查和生成 base.Database.Log = AddLogger; } public BaseDb(string connString, string logUserName, string logAdditionalInfo) : // 数据库链接字符串 base(connString) { strConn = connString; Database.SetInitializer<BaseDb>(null);//设置为空,防止自动检查和生成 UserName = logUserName; AdditionalInfo = logAdditionalInfo; base.Database.Log = AddLogger; } /// <summary> /// 添加日志 /// </summary> /// <param name="info"></param> public void AddLogger(string info) { if (info != "\r\n" && (!info.Contains("Sys_EventLog"))) { string strTemp = info.ToUpper().Trim(); if (isNew) { //记录增删改 if (strTemp.StartsWith("INSERT") || strTemp.StartsWith("UPDATE") || strTemp.StartsWith("DELETE")) { strMsg = info; isNew = false; } } else { if (strTemp.StartsWith("CLOSED CONNECTION")) { //增加新日志 using (BaseDb db = new BaseDb(strConn)) { try { //保存日志到数据库或其他地方 } catch (Exception ex) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "//logError.txt")) { sw.Write(ex.Message); sw.Flush(); } } } //清空 strMsg = ""; isNew = true; } else { strMsg += info; } } } } } public class BaseDb<T> : BaseDb where T : class { public BaseDb(string connString) : // 数据库链接字符串 base(connString) { Database.SetInitializer<BaseDb<T>>(null);//设置为空,防止自动检查和生成 } public BaseDb(string connString, string logUserName, string logAdditionalInfo) : // 数据库链接字符串 base(connString, logUserName, logAdditionalInfo) { Database.SetInitializer<BaseDb<T>>(null);//设置为空,防止自动检查和生成 } public DbSet<T> Entities { get; set; } }}
0 0
- EntityFramework6写的数据访问框架之一 BaseDb
- EntityFramework6写的数据访问框架之二BaseDAL
- EntityFramework6写的数据访问框架之三DatabaseExtension
- EntityFramework6写的数据访问框架之四使用
- EntityFramework6写的数据访问框架之五事务
- 【涉足Spring系列之一】 数据访问框架
- 写数据到文本文件的实现之一
- 我写的一个mvc框架讲解之一
- 自己写的数据访问层
- 自己写的一个数据访问类
- spring的数据访问框架的原理
- 原创的java数据访问框架
- ibatisNet 数据访问框架
- 数据访问框架
- 工作后写的一个.net 数据访问组件
- Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
- Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
- Scott Mitchell 的ASP.NET 2.0数据教程之一: 创建一个数据访问层
- hsf能查看到服务,但是没办法调用
- SearchView(1)
- 怎么用几何画板绘制正方形网格
- Memory Map
- 关于下拉列表的设置问题
- EntityFramework6写的数据访问框架之一 BaseDb
- linux命令
- Socked
- 软件开发的过程中,这些文档你都用到了吗?
- Socket通信简介(新手会有很大帮助的)
- 【深入理解Java虚拟机JVM】java如何实现跨平台
- Oracle12c Release1安装图解(详解)
- Logistic Regression--逻辑回归算法汇总
- Android五大布局介绍&属性设置大全