CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用

1:AppConfig类的介绍:

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用IsEnumToInt 是否使用表字段枚举转Int方式(默认为false)。 设置为true时,可以加快一点性能,但生成的表字段枚举必须和数据库一致。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Aop Aop 插件配置项 示例配置:[ 完整类名,程序集(dll)名称]<add key="Aop" value="Web.Aop.AopAction,Aop"/>
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用ThreadBreakPath Tool.ThreadBreak 使用时,外置的文件配置相对路径(默认在环境变量Temp对应文件中)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用EntitySuffix 生成的实体类的后缀。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Version 获取当前Dll的版本号
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用RunPath 框架的运行路径(Bin目录)

Public Static (Shared) Methods

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用GetApp Overloaded. 获取Web.config或App.config的值。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用GetAppInt 获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用GetConn Overloaded. 获取Web.config或App.config的connectionStrings节点的值。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用SetApp 设置Web.config或App.config的值。 

说明:

1:AppConfig类的属性名和Web.config/App.config的AppSetting节点的Key同名。

2:除了基本的属性和方法,还包括以下的五大类配置。

AppConfig.Cache

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用IsAutoCache 是否智能缓存数据(默认开启)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DefaultCacheTime Cache.CacheManage 默认缓存项的时间[分钟(默认60)]
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用MemCacheServers 分布式缓存的服务器配置,多个用逗号(,)分隔
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用NoCacheTables AutoCache开启时,可以设置不缓存的Table,多个用逗号分隔
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用IngoreCacheColumns AutoCache开启时,可以设置不受更新影响的列名,用Json格式。 {talbeName1:'column1,column2',talbeName2:'column1,column2'} 

AppConfig.DB

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用PagerBySelectBase MSSQL是否启用分页存储过程SelectBase,默认false
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DefaultDalType 默认数据库类型(只读)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CommandTimeout 全局的数据库命令默认超时设置,默认值120秒(单位:秒)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用MasterSlaveTime 读写分离时用户对主数据库操作持续时间,默认值10秒(单位:秒)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DefaultConn 默认数据库链接(可赋完整链接语句或Web.config配置项名称) 如果不在配置文件(Web.Config)上配置Conn链接,可对此属性赋值进行配置。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DefaultDataBase 默认数据库名称(只读)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用FilterSqlInjection MAction所有操作中的where条件,默认有超强的过滤单词,来过滤Sql注入关键字,如果语句包含指定的过滤词,则会返回错误信息,并记录日志。 如果需要自定义关键字,可配置此项,如:“delete;from,truncate,其它单词”,分号表词组,需要同时包含两个词; 多个过滤词组以","逗号分隔
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用AutoID MAction 操作 Oracle 时自增加int类型ID所需要配置的序列ID,Guid为ID则不用。 如果需要为每个表都配置一个序列号,可以使用:SEQ_{0} 其中{0}会自动配对成表名,如果没有{0},则为整个数据库共用一个序列。 默认参数值:SEQ_{0}
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用SchemaMapPath MAction 可将表架构映射到外部指定相对路径[外部存储,可避开数据库读取]
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DeleteField 删除字段名称(若表存在此设置的字段名称时,MActon的删除操作将变更变为更新操作) 默认:IsDeleted
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用EditTimeFields 更新时间字段名称(若表存在指定字段名称时,自动更新时间,多个用逗号分隔)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用HiddenFields 系统全局要隐藏的字段名称(默认值为:"cyqrownum,rowguid,deletefield") 

AppConfig.Debug

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用OpenDebugInfo 开启信息调试记录:开启后MAction.DebugInfo可输出执行日志。 同时AppDebug若要使用,也需要开启此项。
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用SqlFilter 毫秒数(这个是在对所有SQL语句的:将所有长时间(ms)的SQL语句写入日志,对应配置项LogPath的路径)
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用InfoFilter 毫秒数(这个是在AppDebug开启后的:可通过此项设置条件过滤出时间(ms)较长的SQL语句) 

AppConfig.Log

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用IsWriteLog 是否写数据库异常日志:开启时:有异常不抛出,转写入数据库;不开启:有异常会抛出
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用LogConn CYQ.Data.Log 类记录数据库异常日志 - 数据库链接配置
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用LogPath 文本日志的配置相对路径(默认为:Logs\\")
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用LogTableName 异常日志表名(默认为SysLogs,可配置) 

AppConfig.XHtml

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CDataLeft Xml.XHtmlHelper 中使用的 "<![CDATA[" 项
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CDataRight Xml.XHtmlHelper 中使用的 "]]>" 项
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用DtdUri Xml.XHtmlHelper 中操作Html需要配置的DTD解析文档相对路径
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Domain Xml.MutilLanguage 语言切换设置时Cookie所需要的网站主域名[不带www]
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用SysLangKey Xml.MutilLanguage 类的默认语言Key,默认值:Chinese 

2:AppDebug

Public Static (Shared) Properties

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用IsRecording 正在记录中
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Info 获取调试信息

Public Static (Shared) Methods

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Start 开始记录调试信息
CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用Stop 停止并清除记录的调试信息 

示例代码:

class Program
{
static void Main(string[] args)
{
AppConfig.Debug.OpenDebugInfo = true;//首先要打开这个 AppConfig.Debug.InfoFilter = ;//记录SQL语句执行时间>1毫秒的(这个是在AppDebug开启后的:)
AppConfig.Debug.SqlFilter = ;//记录SQL执行语句时间>2毫秒的(这个是所有的SQL语句)
//注意打开软件文件,执行时间大于2毫秒的将记录在在 SqlFilter_时间.txt AppDebug.Start();//开始记录
Exe1();
Exe2();
Exe3();
Console.WriteLine(AppDebug.Info);//拿到调试信息
AppDebug.Stop();//关闭记录
Console.Read();
}
static void Exe1()
{
string sql = "select count(*) from users";
using (MProc proc = new MProc(sql))
{
proc.ExeScalar<string>();
} }
static void Exe2()
{
using (MAction action = new MAction("V_Article"))
{
action.Select();
}
}
static void Exe3()
{
using (MAction action = new MAction("Users"))
{
action.Fill();
}
}
}

运行结果:

CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用

总结:

1:AppConfig是比较常用(通常不是直接操作这个类,而是指配置Web.config)

2:AppDebug:只有在sql语句性能需要监控或优化的时候,才会使用。

CYQ.Data:GitHub源码:https://github.com/cyq1162/cyqdata

CYQ.Data:Demo 源码:http://code.taobao.org/p/cyqopen/src/trunk/CYQ.Data.GettingStarted/

上一篇:CYQ.Data V5 从入门到放弃ORM系列:框架的优势


下一篇:终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了