CYQ.Data
常用配置文件项[Web(App).Config]的[appSettings|connectionStrings]项和属性名一致。
除了可以从配置文件配置,也可以直接赋值。
设置Web.config或App.config的值。
获取Web.config或App.config的值。
获取Web.config或App.config的值(允许值不存在或为空时输出默认值)。
获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。
获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。
获取Web.config或App.config的connectionStrings节点的值。
获取Web.config或App.config的connectionStrings节点的值。
添加自定义链接(内存有效,并未写入config文件)
名称
链接字符串
是否使用表字段枚举转Int方式(默认为false)。
设置为true时,可以加快一点性能,但生成的表字段枚举必须和数据库一致。
是否ToJson输出时自动转义特殊符号("\ \r \t等)
可配置项为(Default、Yes、No)
Aop 插件配置项 示例配置:[ 完整类名,程序集(dll)名称]<add key="Aop" value="Web.Aop.AopAction,Aop"/>
Tool.ThreadBreak 使用时,外置的文件配置相对路径(默认在环境变量Temp对应文件中)
生成的实体类的后缀。
获取当前Dll的版本号
框架的运行路径
Win项目:是dll和exe所在的目录,
Asp.net项目:是指根目录
Asp.net core 项目:是指运行的路径(dll所在的路径)
Web根目录(ASP.NET Core 项目时,由于机制不同,指向的路径需要调整,所以该值可以修改)
当前是否ASP.NET Core环境。
XHtml 相关的配置
Xml.XHtmlHelper 中使用的 "<![CDATA[" 项
Xml.XHtmlHelper 中使用的 "]]>" 项
Xml.XHtmlHelper 中操作Html需要配置的DTD解析文档相对路径
Xml.MutilLanguage 语言切换设置时Cookie所需要的网站主域名[不带www]
Xml.MutilLanguage 类的默认语言Key,默认值:Chinese
DataBase 相关的配置
默认数据库链接(可赋完整链接语句或Web.config配置项名称)
如果不在配置文件(Web.Config)上配置Conn链接,可对此属性赋值进行配置。
默认数据库名称(只读)
默认数据库类型(只读)
MSSQL是否启用分页存储过程SelectBase,默认false
MAction所有操作中的where条件,默认有超强的过滤单词,来过滤Sql注入关键字,如果语句包含指定的过滤词,则会返回错误信息,并记录日志。
如果需要自定义关键字,可配置此项,如:“delete;from,truncate,其它单词”,分号表词组,需要同时包含两个词; 多个过滤词组以","逗号分隔
MAction 操作 Oracle 时自增加int类型ID所需要配置的序列ID,Guid为ID则不用。
如果需要为每个表都配置一个序列号,可以使用:SEQ_{0} 其中{0}会自动配对成表名,如果没有{0},则为整个数据库共用一个序列。
默认参数值:SEQ_{0}
MAction 可将表架构映射到外部指定相对路径[外部存储,可避开数据库读取]
删除字段名称(若表存在此设置的字段名称时,MActon的删除操作将变更变为更新操作)
默认:IsDeleted
更新时间字段名称(若表存在指定字段名称时,自动更新时间,多个用逗号分隔)
系统全局要隐藏的字段名称(默认值为:"cyqrownum,rowguid,deletefield")
全局的数据库命令默认超时设置,默认值120秒(单位:秒)
读写分离时用户对主数据库操作持续时间,默认值10秒s(单位:秒s)
缓存相关的配置
MemCache分布式缓存的服务器配置,多个用逗号(,)分隔
MemCache 备份服务器(当主服务器挂了后,请求会转向备用机)
Redis分布式缓存的服务器配置,多个用逗号(,)分隔
格式:ip:port - password
Redis 使用的DB数(默认1,使用db0)
Redis 使用的DB 索引(默认0,若配置,则会忽略RedisUseDBCount)
Redis 备份服务器(当主服务器挂了后,请求会转向备用机),多个用逗号(,)分隔
格式:ip:port - password
Cache.CacheManage 默认缓存项的时间[分钟(默认60)]
是否智能缓存数据(默认开启)
AutoCache开启时,可以设置不缓存的Table,多个用逗号分隔
AutoCache开启时,可以设置不受更新影响的列名,用Json格式。
{talbeName1:'column1,column2',talbeName2:'column1,column2'}
CYQ.Data.Cache 自动缓存 - 数据库链接配置
在多个不同的应用项目里操作同一个数据库时(又不想使用分布式缓存MemCache或Redis),可以开启此项,达到缓存智能清除的效果。
当AutoCacheConn开启后,定时扫描数据库的任务时间(毫秒),默认1000
日志类Log 相关的配置
CYQ.Data.Log 类记录数据库异常日志 - 数据库链接配置
文本日志的配置相对路径(默认为:Logs\\")
是否写数据库异常日志:开启时:有异常不抛出,转写入数据库;不开启:有异常会抛出
异常日志表名(默认为SysLogs,可配置)
调试类AppDebug 相关的配置
毫秒数(这个是在对所有SQL语句的:将所有长时间(ms)的SQL语句写入日志,对应配置项LogPath的路径)
毫秒数(这个是在AppDebug开启后的:可通过此项设置条件过滤出时间(ms)较长的SQL语句)
开启信息调试记录:开启后MAction.DebugInfo可输出执行日志。
同时AppDebug若要使用,也需要开启此项。
UI取值的默认前缀(ddl,chb,txt),多个用逗号(,)分隔
内部常量类
无效的文件路径字符
框架程序集名称
框架的运行路径
this class can intercept sql
应用程序调试类,能截到应用程序所有执行的SQL
is recoreding sql ?
正在记录中
get sql detail info
获取调试信息
start to record sql
开始记录调试信息
stop to record sql
停止并清除记录的调试信息
Manipulate:table / view / custom statement
操作:表/视图/自定义语句
Archive the rows of the data structure
存档数据结构的行
原始传进来的表名/视图名,未经过[多数据库转换处理]格式化。
Table name (if the view statement is the operation, the final view of the name)
当前操作的表名(若操作的是视图语句,则为最后的视图名字 )
The database connection string
数据库链接字符串
Get or set debugging information [need to set App Config.Debug.Open DebugInfo to ture]
获取或设置调试信息[需要设置AppConfig.Debug.OpenDebugInfo为ture]
The database type
数据库类型
The database name
数据库名称
The database version
数据库的版本号
The number of rows affected when executing a SQL command (-2 is an exception)
执行SQL命令时受影响的行数(-2则为异常)。
Command Timeout[seconds]
命令超时设置[单位秒]
Whether to allow manual insertion of IDs for self-incrementing primary key identification
自增主键标识的,是否允许手动插入ID
MSSQL插入标识ID时开启此选项[事务开启时有效]
MSSQL插入标识ID后关闭此选项[事务开启时有效]
;
当DeleteField被设置后(删除转更新操作),如果仍想删除操作(可将此属性置为true)
Instantiation
实例化
Parameters: table name, view, custom statement, DataRow
参数:表名、视图、自定义语句、MDataRow
Database connection statement or configuration key
数据库链接语句或配置Key
Toggle Table Action: To switch between other tables, use this method
切换表操作:如需操作其它表,通过此方法切换
Parameters: table name, view, custom statement, DataRow
参数:表名、视图、自定义语句、MDataRow
Reset Row State (defaultValue:true)
是否重置原有的数据状态(默认true)
Other DataBaseName
其它数据库名称
Insert To DataBase
插入数据
InsertOp
插入选项
Automatic get values from context
自动取值(从上下文环境中)
InsertOp
插入选项
Update to database [Will automatically try to fetch from the UI when conditions are not passed]
更新数据[不传where条件时将自动尝试从UI获取]
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
Automatic get values from context
自动取值(从上下文环境中)
Automatic get values from context
自动取值(从上下文环境中)
Delete from database [Will automatically try to fetch from the UI when conditions are not passed]
删除数据[不传where条件时将自动尝试从UI获取]
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
select all data
选择所有数据
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
pageIndex第几页
pageSize每页数量[为0时默认选择所有]
The total number of records returned
返回的记录总数
Select top one row to fill this.Data
选择一行数据,并填充到Data属性[不传where条件时将自动尝试从UI获取]
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
Returns the number of records
返回记录数
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
Whether or not the specified condition exists
是否存在指定条件的数据
Sql statement where the conditions: 88, "id = 88"
sql语句的where条件:88、"id=88"
Get value from this.Data
从Data属性里取值
defaultValue值为Null时的默认替换值
Set value to this.Data
为Data属性设置值
columnName列名
value值
set value state (0: unchanged; 1: assigned, the same value [insertable]; 2: assigned, different values [updateable])
设置值状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
Sets a custom expression for the Update operation.
为Update操作设置自定义表达式。
as:"a=a+1"如:"a=a+1"
Parameterized pass [used when the Where condition is a parameterized (such as: name = @ name) statement]
参数化传参[当Where条件为参数化(如:name=@name)语句时使用]
paraName参数名称
value参数值
dbType参数类型
Aop scenes can only be used by the parameterization of the Senate
Aop场景才可能使用的参数化传参
Paras参数列表
Clears paras (from SetPara method)
清除(SetPara设置的)自定义参数
清除系统参数[保留自定义参数]
Specifies the column to read
指定读取的列
as:"columnA","columnB as B"
Get where statement
根据元数据列组合where条件。
connect by and/ortrue为and连接,反之为or链接
MDataCell单元格
Set the transaction level
设置事务级别
IsolationLevel
Begin Transation
开始事务
Commit Transation
提交事务
RollBack Transation
事务回滚
Dispose
释放资源
Set Aop State
设置Aop状态
Pass additional parameters for Aop use
传递额外的参数供Aop使用
Manipulate UI
UI操作
Manipulate:sql / procedure
操作:SQL或存储过程
Change MAction to MProc
将一个MAction 转换成一个MProc。
原始传进进来的链接。
Get or set debugging information [need to set App Config.Debug.Open DebugInfo to ture]
获取或设置调试信息[需要设置AppConfig.Debug.OpenDebugInfo为ture]
The database type
数据库类型
The database name
数据库名称
The database version
数据库的版本号
The number of rows affected when executing a SQL command (-2 is an exception)
执行SQL命令时受影响的行数(-2则为异常)。
The database connection string
数据库链接字符串
Command Timeout[seconds]
命令超时设置[单位秒]
Instantiation
实例化
Parameters: sql or procedure
参数:SQL语句或存储过程名称
IsClearParameters
是否清除参数
Toggle tProc Action: To switch between other sql/procedure, use this method
切换操作:如需操作其它语句或存储过程,通过此方法切换
Parameters: sql or procedure
参数:存储过程名或Sql语句
Get MDataTable
Get MDataTables
Returns the number of rows affected [used to insert update or delete], and returns -2 if an exception is executed
返回受影响的行数[用于更新或删除],执行异常时返回-2
Returns the value of the first column of the first row
返回首行首列的值
Set Input Para
设置存储过程Input参数
设置特殊自定义参数
Set the stored procedure OutPut, the return value and other special types of parameters
设置存储过程OutPut、返回值等特殊类型参数
MSSQL The name of the user-defined table typeMSSQL的用户定义表类型的名称
Clear Parameters
清除存储过程参数
Get Procedure Return Value
存储过程的返回值
The OutPut value for the stored procedure: Dictionary for multiple values
存储过程的OutPut值:多个值时为Dictionary
Set Aop State
设置Aop状态
Pass additional parameters for Aop use
传递额外的参数供Aop使用
Set the transaction level
设置事务级别
IsolationLevel
Begin Transation
开始事务
Commit Transation
提交事务
RollBack Transation
事务回滚
Dispose
释放资源
重置静态变量(方便回收内存,避免大量导数据后内存不回收)
是否需要更新:0未更新;1仅插入[往后面插数据];2更新删除或插入[重新保存],//需要更新[全局的可以有效处理并发]
最后的写入时间
下一个自增加ID
包含路径的完整文件名称
不包含路径的文件名称(带扩展名)
切换表
数据行结构
文件名称
文件路径
数据类型
检测文件是否已被修改过
Aop参数信息
表名
数据类型(只读)
数据库名称(只读)
AOP的自定义参数
是否事务中
当前上下文的处理程序。
数据列表
数据表
数据行
查询条件
自动从Form表单提取值[插入或更新时使用]
数据插入选项
分页起始页
分页每页条数
更新操作的附加表达式。
指定的查询列
Begin方法是否调用成功[在End中使用]
查询时返回的记录总数或ExeNonQuery的返回值
用户调用SetPara新增加的自定义参数
当前上下文的处理程序。
存储过程名或SQL语句
是否存储过程
命令参数
执行后返回的结果
设置自定义参数[使用MAction时,对Where条件进行的参数化传参使用]
参数名称
参数值
参数类型
内部预先实现CacheAop
Aop参数
框架内部数据库操作方法枚举
Aop函数的处理结果
本结果将执行原有事件,但跳过Aop.End事件
本结果将继续执行原有事件和Aop.End事件
本结果将跳过原有事件,但会执行Aop End事件
本结果将直接跳出原有函数的执行
Aop开关选项
正常打开
仅打开内部Aop(即自动缓存,关闭外部Aop)
仅打开外部Aop(关闭自动缓存)
内外都关(自动缓存和外部Aop)
Aop接口,需要实现时继承
方法调用之前被调用
方法名称
表名/存储过程名/视图名/sql语句
方法中可能返回的参数
附带分支参数
方法调用之后被调用
方法名称
调用是否成功
一般调用后的id[或MDataRow/MDataTable]
附带分支参数
数据库操作产生异常时,引发此方法
克隆返回一个新的对象
Aop 首次加载时被触发的事件
内部智能缓存
单机存档: 表的baseKey:key1,key2,key3...
使用同一个链接,并且不关闭。
全局缓存类
使用示例:
实例化: CacheManage cache=CacheManage.Instance;
添加: Cache.Set("路过秋天",new MDataTable);
判断: if(cache.Contains("路过秋天"))
{
获取: MDataTable table=cache.Get("路过秋天") as MDataTable;
}
返回唯一实例(根据配置(AppConfig.Cache.XXXCacheServers)决定启用顺序:Redis、MemCache、本地缓存)
单机本地缓存
MemCache缓存(需要配置AppConfig.Cache.MemCacheServers)
Redis缓存(需要配置AppConfig.Cache.RedisServers)
缓存的实例类型
缓存的信息
设置一个Cache对象
清除所有缓存
获和缓存总数
获得一个Cache对象
获得一个Cache对象
删除一个Cache对象
获取系统内部缓存Key
获取系统内部缓存Key
通过该方法可以预先加载整个数据库的表结构缓存
通过该方法可以预先加载整个数据库的表结构缓存(异常会抛,外层Try Catch)
指定数据链接
是否开启线程
支持的Cache类型
本地缓存
MemCached分布式缓存
Redis分布式缓存
Cache的Key类型
表架构的Key
智能缓存Key
单机缓存类
为兼容.NET Core 去掉Web.Caching,重写
获取缓存信息对象列表
内存工作信息
获和缓存总数
获得一个Cache对象
标识
是否存在缓存
标识
添加一个Cache对象
标识
对象值
缓存时间(单位分钟)
文件依赖路径
删除一个Cache对象
标识
移除Key和Value
清除所有缓存
MemCache分布式缓存类
Fowler-Noll-Vo hash, variant 1, 32-bit version.
http://www.isthe.com/chongo/tech/comp/fnv/
Fowler-Noll-Vo hash, variant 1a, 32-bit version.
http://www.isthe.com/chongo/tech/comp/fnv/
Modified Fowler-Noll-Vo hash, 32-bit version.
http://home.comcast.net/~bretm/hash/6.html
Memcached client main class.
Use the static methods Setup and GetInstance to setup and get an instance of the client for use.
Static method for creating an instance. This method will throw an exception if the name already exists.
The name of the instance.
A list of memcached servers in standard notation: host:port.
If port is omitted, the default value of 11211 is used.
Both IP addresses and host names are accepted, for example:
"localhost", "127.0.0.1", "cache01.example.com:12345", "127.0.0.1:12345", etc.
Static method which checks if a given named MemcachedClient instance exists.
The name of the instance.
Static method for getting the default instance named "default".
Static method for getting an instance.
This method will first check for named instances that has been set up programmatically.
If no such instance exists, it will check the "beitmemcached" section of the standard
config file and see if it can find configuration info for it there.
If that also fails, an exception is thrown.
The name of the instance.
The named instance.
If you specify a key prefix, it will be appended to all keys before they are sent to the memcached server.
They key prefix is not used when calculating which server a key belongs to.
The send receive timeout is used to determine how long the client should wait for data to be sent
and received from the server, specified in milliseconds. The default value is 2000.
The connect timeout is used to determine how long the client should wait for a connection to be established,
specified in milliseconds. The default value is 2000.
The min pool size determines the number of sockets the socket pool will keep.
Note that no sockets will be created on startup, only on use, so the socket pool will only
contain this amount of sockets if the amount of simultaneous requests goes above it.
The default value is 5.
The max pool size determines how large the socket connection pool is allowed to grow.
There can be more sockets in use than this amount, but when the extra sockets are returned, they will be destroyed.
The default value is 10.
If the pool contains more than the minimum amount of sockets, and a socket is returned that is older than this recycle age
that socket will be destroyed instead of put back in the pool. This allows the pool to shrink back to the min pool size after a peak in usage.
The default value is 30 minutes.
If an object being stored is larger in bytes than the compression threshold, it will internally be compressed before begin stored,
and it will transparently be decompressed when retrieved. Only strings, byte arrays and objects can be compressed.
The default value is 1048576 bytes = 1MB.
Private key hashing method that uses the modified FNV hash.
The key to hash.
The hashed key.
Private hashing method for user-supplied hash values.
The user-supplied hash value to hash.
The hashed value
Private multi-hashing method.
An array of keys to hash.
An arrays of hashes.
Private multi-hashing method for user-supplied hash values.
An array of keys to hash.
An arrays of hashes.
Private key-checking method.
Throws an exception if the key does not conform to memcached protocol requirements:
It may not contain whitespace, it may not be null or empty, and it may not be longer than 250 characters.
The key to check.
This method corresponds to the "set" command in the memcached protocol.
It will unconditionally set the given key to the given value.
Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or
absolute as a DateTime. It is also possible to specify a custom hash to override server selection.
This method returns true if the value was successfully set.
This method corresponds to the "add" command in the memcached protocol.
It will set the given key to the given value only if the key does not already exist.
Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or
absolute as a DateTime. It is also possible to specify a custom hash to override server selection.
This method returns true if the value was successfully added.
This method corresponds to the "replace" command in the memcached protocol.
It will set the given key to the given value only if the key already exists.
Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or
absolute as a DateTime. It is also possible to specify a custom hash to override server selection.
This method returns true if the value was successfully replaced.
This method corresponds to the "get" command in the memcached protocol.
It will return the value for the given key. It will return null if the key did not exist,
or if it was unable to retrieve the value.
If given an array of keys, it will return a same-sized array of objects with the corresponding
values.
Use the overload to specify a custom hash to override server selection.
This method corresponds to the "delete" command in the memcache protocol.
It will immediately delete the given key and corresponding value.
Use the overloads to specify an amount of time the item should be in the delete queue on the server,
or to specify a custom hash to override server selection.
This method corresponds to the "flush_all" command in the memcached protocol.
When this method is called, it will send the flush command to all servers, thereby deleting
all items on all servers.
Use the overloads to set a delay for the flushing. If the parameter staggered is set to true,
the client will increase the delay for each server, i.e. the first will flush after delay*0,
the second after delay*1, the third after delay*2, etc. If set to false, all servers will flush
after the same delay.
It returns true if the command was successful on all servers.
This method corresponds to the "stats" command in the memcached protocol.
It will send the stats command to all servers, and it will return a Dictionary for each server
containing the results of the command.
This method retrives the status from the serverpool. It checks the connection to all servers
and returns usage statistics for each server.
额外扩展的属性(用于Redis)
Disposing of a PooledSocket object in any way causes it to be returned to its SocketPool.
This method closes the underlying stream and socket.
Checks if the underlying socket and stream is connected and available.
Writes a string to the socket encoded in UTF8 format.
Writes an array of bytes to the socket and flushes the stream.
Reads from the socket until the sequence '\r\n' is encountered,
and returns everything up to but not including that sequence as a UTF8-encoded string
返回Null即没有数据了!
读一行的数据
读一行的数据
Reads a response line from the socket, checks for general memcached errors, and returns the line.
If an error is encountered, this method will throw an exception.
Fills the given byte array with data from the socket.
Reads from the socket until the sequence '\r\n' is encountered.
Resets this PooledSocket by making sure the incoming buffer of the socket is empty.
If there was any leftover data, this method return true.
序列化
值
返回序列化类型
指定超过长度时启用压缩功能
The ServerPool encapsulates a collection of memcached servers and the associated SocketPool objects.
This class contains the server-selection logic, and contains methods for executing a block of code on
a socket from the server corresponding to a given key.
备份的Socket池,如果某主机挂了,在配置了备份的情况下,会由备份Socket池提供服务。
Internal constructor. This method takes the array of hosts and sets up an internal list of socketpools.
Given an item key hash, this method returns the socketpool which is closest on the server key continuum.
This method executes the given delegate on a socket from the server that corresponds to the given hash.
If anything causes an error, the given defaultValue will be returned instead.
This method takes care of disposing the socket properly once the delegate has executed.
This method executes the given delegate on all servers.
The SocketPool encapsulates the list of PooledSockets against one specific host, and contains methods for
acquiring or returning PooledSockets.
扩展属性:如果链接后需要验证密码(如Redis可设置密码)
备份的Socket池,如果某主机挂了,在配置了备份的情况下,会由备份Socket池提供服务。
(问题:主SocketPool怎么找到对应的备份?)
Socket的挂科时间。
If the host stops responding, we mark it as dead for this amount of seconds,
and we double this for each consecutive failed retry. If the host comes alive
again, we reset this to 1 again.
This method parses the given string into an IPEndPoint.
If the string is malformed in some way, or if the host cannot be resolved, this method will throw an exception.
Gets a socket from the pool.
If there are no free sockets, a new one will be created. If something goes
wrong while creating the new socket, this pool's endpoint will be marked as dead
and all subsequent calls to this method will return null until the retry interval
has passed.
这个方法扩展(备份链接池)
Returns a socket to the pool.
If the socket is dead, it will be destroyed.
If there are more than MaxPoolSize sockets in the pool, it will be destroyed.
If there are less than MinPoolSize sockets in the pool, it will always be put back.
If there are something inbetween those values, the age of the socket is checked.
If it is older than the SocketRecycleAge, it is destroyed, otherwise it will be
put back in the pool.
Redis分布式缓存类
Memcached client main class.
Use the static methods Setup and GetInstance to setup and get an instance of the client for use.
Static method for creating an instance. This method will throw an exception if the name already exists.
The name of the instance.
A list of memcached servers in standard notation: host:port.
If port is omitted, the default value of 11211 is used.
Both IP addresses and host names are accepted, for example:
"localhost", "127.0.0.1", "cache01.example.com:12345", "127.0.0.1:12345", etc.
Static method which checks if a given named RedisClient instance exists.
The name of the instance.
Static method for getting the default instance named "default".
Static method for getting an instance.
This method will first check for named instances that has been set up programmatically.
If no such instance exists, it will check the "beitmemcached" section of the standard
config file and see if it can find configuration info for it there.
If that also fails, an exception is thrown.
The name of the instance.
The named instance.
If you specify a key prefix, it will be appended to all keys before they are sent to the memcached server.
They key prefix is not used when calculating which server a key belongs to.
The send receive timeout is used to determine how long the client should wait for data to be sent
and received from the server, specified in milliseconds. The default value is 2000.
The connect timeout is used to determine how long the client should wait for a connection to be established,
specified in milliseconds. The default value is 2000.
The min pool size determines the number of sockets the socket pool will keep.
Note that no sockets will be created on startup, only on use, so the socket pool will only
contain this amount of sockets if the amount of simultaneous requests goes above it.
The default value is 5.
The max pool size determines how large the socket connection pool is allowed to grow.
There can be more sockets in use than this amount, but when the extra sockets are returned, they will be destroyed.
The default value is 10.
If the pool contains more than the minimum amount of sockets, and a socket is returned that is older than this recycle age
that socket will be destroyed instead of put back in the pool. This allows the pool to shrink back to the min pool size after a peak in usage.
The default value is 30 minutes.
指定数据长度超过值时进行压缩
If an object being stored is larger in bytes than the compression threshold, it will internally be compressed before begin stored,
and it will transparently be decompressed when retrieved. Only strings, byte arrays and objects can be compressed.
The default value is 1048576 bytes = 1MB.
Private key hashing method that uses the modified FNV hash.
The key to hash.
The hashed key.
Private hashing method for user-supplied hash values.
The user-supplied hash value to hash.
The hashed value
Private multi-hashing method.
An array of keys to hash.
An arrays of hashes.
Private multi-hashing method for user-supplied hash values.
An array of keys to hash.
An arrays of hashes.
Private key-checking method.
Throws an exception if the key does not conform to memcached protocol requirements:
It may not contain whitespace, it may not be null or empty, and it may not be longer than 250 characters.
The key to check.
This method corresponds to the "flush_all" command in the memcached protocol.
When this method is called, it will send the flush command to all servers, thereby deleting
all items on all servers.
Use the overloads to set a delay for the flushing. If the parameter staggered is set to true,
the client will increase the delay for each server, i.e. the first will flush after delay*0,
the second after delay*1, the third after delay*2, etc. If set to false, all servers will flush
after the same delay.
It returns true if the command was successful on all servers.
This method corresponds to the "stats" command in the memcached protocol.
It will send the stats command to all servers, and it will return a Dictionary for each server
containing the results of the command.
This method retrives the status from the serverpool. It checks the connection to all servers
and returns usage statistics for each server.
RedisCommand
对应的ConnectionString的Name
链接的状态是否正常。
是否从库
链接错误时的异常消息。
数据库链接
数据类型提供者
数据库类型
操作的数据库类型
MSSQL[2000/2005/2008/2012/...]
PostgreSQL
Txt DataBase
Xml DataBase
特殊参数类型[MProc SetCustom方法所使用的参数]
Oracle 游标类型
输出类型
输入输出类型
返回值类型
Oracle CLOB类型
Oracle NCLOB类型
MSSQL 用户定义表类型
重置数据库的结果
成功切换 数据库链接
未切换 - 相同数据库名。
未切换 - 事务中。
未切换 - 新数据库名不存在。
测试链接的级别
MAction Insert Options
MAction的Insert方法的返回值选项
only insert,no return autoIncrement id
使用此项:插入数据后[MSSQL会返回ID,其它数据库则不会返回ID]
insert and return autoincrement id (default option)
使用此项:插入数据后会返回ID[默认选项]。
insert and select top 1 data to fill row
使用此项:插入数据后,会根据返回ID进行查询后填充数据行。
Json class for you easy to operate json
功能全面的json帮助类
default value is RowOp.All
默认值为RowOp.All
out json result
输出Json字符串
end with [] ?
with easyui header ?是否带输出头
first row with table schema ?
是否首行带表结构[MDataTable.LoadFromJson可以还原表的数据类型]
Escape options
转义符号
convert filed to lower
是否将名称转为小写
formate datetime
日期的格式化(默认:yyyy-MM-dd HH:mm:ss)
filter json data
Json输出行数据的过滤选项
is success
是否成功
Error message
错误提示信息
data rows count
当前返回的行数
totla count
所有记录的总数(多数用于分页的记录总数)。
flag a json is end and start a new json
添加完一个Json数据后调用此方法换行
attach json data (AddHead must be true)
添加底部数据(只有AddHead为true情况才能添加数据)
add json key value
添加一个字段的值
value is no quotes
值不带引号
out json result
输出Json字符串
end with [] ?
check string is json
检测是否Json格式的字符串
the index of the error char
错误的字符索引
Get json value
获取Json字符串的值
the name or key of json
键值(有层级时用:XXX.YYY.ZZZ)
a easy method for you to return a json
返回Json格式的结果信息
no ""
split json to dicationary
将Json分隔成键值对。
split json to dicationary array
将Json 数组分隔成多个键值对。
解码替换数据转义符
Fill obj and get json from ToString() method
从数据表中取数据填充,最终可输出json字符串
Fill obj and get json from ToString() method
从数据行中取数据填充,最终可输出json字符串
从数据结构填充,最终可输出json字符串。
数据结构
false:输出单行的[列名:数据类型];true:输出多行的完整的数据结构
Fill obj and get json from ToString() method
可从类(对象,泛型List、泛型Dictionary)中填充,最终可输出json字符串。
实体类对象
从Json字符串中反加载成数据表
将Json转换成集合
集合类型
json数据
Convert json to Entity
将Json转换为实体
Type类型
Convert json to Entity List
将Json转换为实体列表
Type类型
Convert object to json
将一个对象(实体,泛型List,字典Dictionary)转成Json
default value is RowOp.All
默认值为RowOp.All
Convert json to Xml
将一个Json转成Xml
default value is true
是否转成属性,默认true
快速转换类[数据量越大[500条起],性能越高]
构建一个ORM实体转换器
转换的目标类型
表数据架构
转实体所用参数
基础类型
枚举类型
数组
集合类型
泛型
自定义类
文件读取类(能自动识别文件编码)
读取文件内容,并自动识别编码
完整路径
缓存分钟数(为0则不缓存)
读取文件内容
指定编码时(会跳过编码自动检测)
读取文件内容,并自动识别编码
往文件里写入数据(文件存在则复盖,不存在则更新)
往文件里追加数据(文件存在则追加,不存在则更新),并自动识别文件编码
删除文件
字节文本编码检测
是否中文
是否拥有Bom头
获取文件编码
Automatically detects the Encoding type of a given byte buffer.
The byte buffer.
The size of the byte buffer.
The Encoding type or Encoding.None if unknown.
Checks if a buffer contains text that looks like utf16 by scanning for
newline chars that would be present even in non-english text.
以检测换行符标识来判断。
The byte buffer.
The size of the byte buffer.
Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom.
Checks if a buffer contains any nulls. Used to check for binary vs text data.
The byte buffer.
The size of the byte buffer.
Checks if a buffer contains text that looks like utf16. This is done based
on the use of nulls which in ASCII/script like text can be useful to identify.
按照一定的空0数的概率来预测。
The byte buffer.
The size of the byte buffer.
Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom.
Checks if a buffer contains valid utf8.
以UTF8 的字节范围来检测。
The byte buffer.
The size of the byte buffer.
Encoding type of Encoding.None (invalid UTF8), Encoding.Utf8NoBom (valid utf8 multibyte strings) or
Encoding.ASCII (data in 0.127 range).
2
是否中文编码(GB2312、GBK、Big5)
Escape json char options
JsonHelper 的符号转义选项
过滤ascii小于32的特殊值、并对\n "(双引号)进行转义,对\转义符 (仅\\"或\\n时不转义,其它情况转义)
不进行任何转义,只用于保留原如数据(注意:存在双引号时,[或ascii小于32的值都会破坏json格式],从而json数据无法被解析)
过滤ascii小于32的特殊值、并对 :\r \n \t "(双引号) \(转义符号) 直接进行转义
系统内部使用: ascii小于32(包括\n \t \r)、"(双引号),\(转义符号) 进行编码(规则为:@#{0}#@ {0}为asciii值,系统转的时候会自动解码)
数据库工具类[都是静态方法]
获取异常的信息
获取数据库链接的数据库类型
链接配置Key或数据库链接语句
获取指定数据库的数据类型
单元格结构
数据库类型
数据库版本号
测试数据库链接语句
链接配置Key或数据库链接语句
获取数据库表
获取数据库表
获取所有表(表名+表说明)【链接错误时,抛异常】
数据库链接
返回指定链接的数据库名称
链接错误时的信息信息
是否存在表
是否存在指定的表
表名[或文件名]
数据库链接
检测表是否存在
表名
数据库链接
数据库类型
检测表是否存在
表名
数据库链接
数据库类型
为指定的表架构生成SQL(Create Table)语句
为指定的表架构生成SQL(Create Table)语句
获取指定的表架构生成的SQL(Create Table)的说明语句
获取指定的表架构生成的SQL(Create Table)的说明语句
获取指定的表架构生成的SQL(Alter Table)的说明语句
获取指定的表架构生成的SQL(Alter Table)的说明语句
修改表的列结构
修改表的列结构
表名
列结构
数据库链接
移除一张表
移除一张表
数据库链接
获取表架构
数据库链接
指定要返回架构的名称
为指定的架构返回一组限制值
获取表列架构
获取表列架构
表名
获取表列架构(链接错误时,抛异常)
表名
数据库链接
出错时的错误信息
获取表列架构
表名
数据库链接
为字段或表名添加关键字标签:如[],''等符号
表名或字段名
数据类型
取消字段或表名添加关键字标签:如[],''等符号
表名或字段名
将各数据库默认值格式化成标准值,将标准值还原成各数据库默认值
[0:转成标准值],[1:转成各数据库值]
映射的表名
分隔Json字符串为字典集合。
解析Json
除了NO,其它项都会消掉转义符,默认是:YES
获取值的长度(当Json值嵌套以"{"或"["开头时)
字符状态
数组开始【仅第一开头才算】,值嵌套的以【childrenStart】来标识。
【-1 未初始化】【0 取名称中】;【1 取值中】
【-2 已结束】【-1 未初始化】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】
【-2 已结束】【-1 未初始化】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】
设置字符状态(返回true则为关键词,返回false则当为普通字符处理)
将json数组分成字符串List
["a,","bbb,,"]
获取字符在字符串出现的次数
线程安全字典类
key
value
索引取值
通过index索引取值
当Key为int时,通过此方法取值
当Key为int时,通过此方法取值
类型转换(支持json转实体)
类型转换(精准强大)
值处理
类型
反射工具(带缓存)
获取泛型参数的长度
获取泛型参数的长度(和类型)
获得反射属性(内部有缓存)
获取系统类型,若是Nullable类型,则转为基础类型。
静态方法工具类
将PropertyInfo[] 改成PropertyInfo List,是因为.NET的CLR会引发内存读写异常(启用IntelliTrace时)
获取属性列表
获取泛型的参数长度(非泛型按默认方法计算)
获取泛型的参数长度(非泛型按默认方法计算)
获取系统类型,若是Nullable类型,则转为基础类型。
将GUID转成16字节字符串
获取约定枚举的数据库名称
表枚举或表名
类型转换(精准强大)
值处理
类型
在ASP.NET中使用多线程时,为了避开升级dll时产生多个线程互相影响,使用此类可以通过外置文件进行跳出。
提示:AppConfig中需要配置ThreadBreakPath项的路径
是否需要退出。
清除线程threadbreak文件。
线程名称
添加全局线程[通常该线程是个死循环,定时处理事情]
表格
输出Json
输出头部信息[带count、Success、ErrorMsg](默认true)
首行输出表架构信息,反接收时可还原架构(默认false)
过滤选项
符号转义选项
用于关联表的列名,不设置时默认取表主键值
两表LeftJoin关联
关联表
追加显示的列,没有指定则追加关联表的所有列
两表LeftJoin关联
关联表名
关联的字段名,设置Null则自动取表主键为关联名
追加显示的列,没有指定则追加关联表的所有列
从DataReader隐式转换成MDataTable
从DataTable隐式转换成MDataTable
从行集合隐式转换成MDataTable
将一行数据装载成一个表。
将一行数据装载成一个表。
表格行
动态存储数据
表名
表名描述
表格的架构列
该表归属的数据库链接。
新建一行
新建一行
是否顺带添加到表中
使用本查询,得到克隆后的数据
使用本查询,得到克隆后的数据
使用本查询,得到克隆后的数据
使用本查询,得到原数据的引用。
使用本查询,得到原数据的引用。
统计满足条件的行所在的索引
统计满足条件的行数
根据条件分拆成两个表【满足条件,和非满足条件的】,分出来的数据行和原始表仍是同一个引用
加载行(包括行架构)[提示,仅当表为空架构时有效]
转换成DataTable
输出Xml文档
输出Xml文档
名称转小写
保存Xml
输出Json
输出头部信息[带count、Success、ErrorMsg](默认true)
首行输出表架构信息,反接收时可还原架构(默认false)
过滤选项
符号转义选项
输出Json[可指定保存路径]
将数据表绑定到列表控件
列表控件[包括Repeater/DataList/GridView/DataGrid等]
将数据表绑定到列表控件
列表控件[包括Repeater/DataList/GridView/DataGrid等]
当Control为XHtmlAction对象时,需要指定绑定的节点ID
将新表的行放到原表的下面。
将表里所有行的数据行的状态全部重置
状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
将表里所有行的数据行的状态全部重置
状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
状态设置选项
转实体列表
是否使用Emit方式转换[数据越多[大于500条]性能越高],不写默认自适应判断
批量插入或更新 [提示:操作和当前表名有关,如当前表名不是要提交入库的表名,请给TableName属性重新赋值]
操作选项[插入|更新]
操作选项[插入|更新]
指定新的数据库链接
AcceptOp为Update或Auto时,若需要设置联合主键为唯一检测或更新条件,则可设置多个字段名
获取修改过的数据
获取修改过的数据(若无修改,则返回Null)
仅Insert和Update选项可用
返回某列的集合
列名
返回某列的集合
列名
参数选项
返回某列的集合
列的类型
列名
过滤选项
是否去掉重复数据
返回某列的集合
列的类型
第N列
返回某列的集合
列的类型
第N列
过滤选项
返回某列的集合
列的类型
第N列
过滤选项
是否去掉重复数据
复制表
复制表的结构
是否克隆表结构
过滤掉重复的数据行(仅比较基础类型、复杂数据类型仅比较类型名称)。
被过滤的数据集表
过滤掉重复的数据行(仅比较基础类型、复杂数据类型仅比较类型名称)。
获取列的总数
清除所有行
获取数据行总数
是否已读取完所所有数据,并清空了记录。
是否还有下一条数据
索引移到下一条,准备进行读取。
返回(查询时)记录总数。
不关闭Sdr(因为外部MProc.ExeMDataTableList还需要使用)
从List列表里加载成MDataTable
实体列表对象
从Json或Xml字符串反加载成MDataTable
从Json或Xml字符串反加载成MDataTable
获取列的最小值
类型
列名
获取列的最小值
类型
列索引
获取列的最大值
类型
列名
获取列的最大值
类型
列索引
汇总某列的值
类型
列名
汇总某列的值
类型
列索引
记算某列的平均值
类型
列名
记算某列的平均值
类型
列索引
行转换列(不指定时,默认取最后三列处理)
行转换列
用于指定行的列名
用于分拆成列的列名
用于显示值的列名
一行记录
获取列头
所依属的数据库配置项名称[当MAction从带有架构的行加载时,此链接若存在,优先成为默认的数据库链接]
原始表名[未经过多数据库兼容处理]
输入枚举型数据
获取该行拥有其架构的 MDataTable。
通过一个数组来获取或设置此行的所有值。
获取或设置行的自定义错误说明。
获取第一个关键主键列
获取联合主键列表(若有多个主键)
此方法被Emit所调用
返回数组值
取值
将行的数据转成两列(ColumnName、Value)的表
将行的数据行的值全重置为Null
获取行的当前状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
获取行的当前状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
为行设置值
为行设置值
字段名
值
手工设置状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
将行的数据行的状态全部重置
状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
将行的数据行的状态全部重置
状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]]
状态设置选项
批量指定某些列
复制一行
从实体、Json、Xml、IEnumerable接口实现的类、MDataRow
从实体、Json、Xml、IEnumerable接口实现的类、MDataRow
输出行的数据Json
输出行的数据Json
输出Json
过滤条件
转义选项
转成实体
实体名称
将值批量赋给UI
将值批量赋给UI
自动前缀,多个可用逗号分隔
页面控件
从Web Post表单里取值。
从Web Post表单里取值 或 从Winform、WPF的表单控件里取值。
True为Web应用,反之为Win应用
Web时设置前缀,Win时设置父容器控件
从别的行加载值
从别的行加载值
从别的行加载值
要加载数据的行
行选项[从其它行加载的条件]
如果row带有新列,是否加列
是否同时加载值的状态[默认值为:true]
从数组里加载值
从json里加载值
从json里加载值
从泛型字典集合里加载
将实体转成数据行。
实体对象
将实体转成数据行。
实体对象
将行中的数据值赋给实体对象
实体对象
将指定行的数据赋给实体对象。
实现Winform DataGridView 的添加编辑和删除操作功能。
行集合
隐式转换列头
获取该行拥有其架构的 MDataTable。
创建使用指定值的行,并将其添加到 MDataRowCollection 中
添加行[默认重置状态为true]
行
重置状态,[默认true],重置后的行数据不参与MDataTable的批量更新操作,状态在重新赋值时改变。
单元格
原型模式(Prototype Method)
字符串值
值
延时检测值的类型
数据类型被切换,重新修正值的类型。
数据类型被切换,重新修正值的类型。
值的数据类型转换。
要被转换的值
要转换成哪种类型
数据库类型的组号
值是否为Null值[只读属性]
值是否为Null或为空[只读属性]
列名[只读属性]
单元格的结构
Value的状态:0;未改,1;进行赋值操作[但值相同],2:赋值,值不同改变了
将值重置为空
设置默认值。
已被重载,默认返回Value值。
是否值相同[已重写该方法]
转成行
单元结构属性
结构集合
是否关键字
是否唯一索引
是否外键
外键表名
字段描述
默认值
是否允许为Null
是否自增加
旧的列名(AlterOp为Rename时可用)
列名
表名
SqlDbType类型
最大字节
精度(小数位)
原始的数据库字段类型名称
列结构改变状态
克隆一个对象。
为列的所有行设置值
返回该列的where In 条件 : Name in("aa","bb")
单元结构的值
状态改变:0;未改,1;进行赋值操作[但值相同],2:赋值,值不同改变了
头列表集合
列名是否变更
存储列名的索引
添加列时,检测名称是否重复(默认为true)。
隐式转换列头
架构所引用的表
表名描述
获取列所在的索引位置(若不存在返回-1)
将 列 的序号或位置更改为指定的序号或位置。
列名
序号
输出Json格式的表构架
转成行
表名
保存表架构到外部文件中(json格式)
联合主键
第一个主键
首个唯一键
当前的数据库类型。
该结构是否由视图拥有
将表结构的数据转成Table显示
添加列
列名
列的数据类型
是否自增ID列
默认值[日期类型请传入SqlValue.GetDate]
ReadOnly
从Json或文件中加载成列信息
Json或文件(完整路径)名称
从Json或文件中加载成列信息
Json或文件(完整路径)名称
是否从.txt或.xml文件中读取架构(默认为true)
仅用于Winform的列表绑定。
实现Winform的表格控件绑定功能。
列结构修选项
默认不修改状态
添加或修改状态
删除列状态
重命名列状态
表间的关联关系
批量更新选项
批量插入(由系统产生自增加ID)
该执行会开启事务。
批量插入(由用户指定ID插入)
该执行会开启事务。
批量更新
该执行会开启事务。
批量删除
批量自动插入或更新(检测主键数据若存在,则更新;不存在,则插入)
该执行不会开启事务。
清空表(只有和Insert或InsertWithID组合使用时才有效)
MDataTable 与 MDataRow SetState 的过滤选项
未设置,设置所有
跳过设置值为Null的。
跳过设置值为空的。
跳过设置值为Null或空的。
MDataRow 与 JsonHelper 行数据的过滤选项
未设置,输出所有,包括Null值的列
输出所有,但不包括Null值的列
输出具有插入状态的值
输出具有更新状态的值
批量操作。
联合主键
Insert前是否先清表
内部操作对象(需要同一个事务处理)。
进行列修正(只有移除 和 修正类型,若无主键列,则新增主键列)
设置联合主键
联合主键
检测GUID,若空,补值。
操作符号
没有操作
操作符号:">"
操作符号:">="
操作符号:"="
操作符号:"<>"
操作符号:"<"
操作符号:"<="
操作符号:"like"
操作符号:"not like"
是否Null值
非Null值
操作符号:In
操作符号:Not In
查询的基本连接条件
条件过滤参数
MDataTable查询过滤器
多个条件
SQL操作符号
单个条件
条件比较
多条件下值比较
分隔where条件中order by 出来
只保留查询的列
列长度
长度
精度
主键自增是否允许Null
默认值
表名或字段描述
快速操作操作类。
查找单条记录
实体类型
条件
指定查询的列(可选)
列表查询
查询条件[可附带 order by 语句]
列表查询
查询几条
查询条件[可附带 order by 语句]
查找多条记录
实体类型
第N页
每页N条
条件
返回记录总数
指定查询的列(可选)
删除记录
实体类型
条件
添加一条记录
实体类型
实体对象
更新记录
实体类型
实体对象
条件
是否存在指定的条件
ORM扩展基类
字段来源(当字段变更时,可以设置此属性来切换更新)
构造函数
设置Aop状态
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
表名,如:Users
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
表名,如:Users
数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串
设置值,例如:[action.Set(TableName.ID,10);]
字段名称,可用枚举如:[TableName.ID]
要设置给字段的值
set示例:action.Set(Users.UserName,"路过秋天");
get示例:int id=action.Get<int>(Users.ID);
插入数据
插入数据
插入选项
插入数据
自动从控制获取值
插入数据
自动从控制获取值
插入选项
更新数据
更新数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
更新数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
是否自动获取值[自动从控件获取值,需要先调用SetAutoPrefix或SetAutoParentControl方法设置控件前缀]
删除数据
删除数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
查询1条数据(自动取值)
查询1条数据
列表查询
列表查询
查询条件[可附带 order by 语句]
列表查询
查询几条
查询条件[可附带 order by 语句]
带分布功能的选择[多条件查询,选择所有时只需把PageIndex/PageSize设置为0]
第几页
每页数量[为0时默认选择所有]
查询条件[可附带 order by 语句]
返回的记录总数
获取记录总数
查询是否存在指定的条件的数据
释放资源
批量加载值(可从Json、实体对象、MDataRow、泛型字段等批量加载值)
json字符串或实体对象
本方法可以在单表使用时查询指定的列[设置后可使用Fill与Select方法]
提示:分页查询时,排序条件的列必须指定选择。
可设置多个列名[调用Fill或Select后,本参数将被清除]
参数化传参[当Where条件为参数化(如:name=@name)语句时使用]
参数名称
参数值
参数类型
清除(SetPara设置的)自定义参数
更新操作的自定义表达式设置。
例如a字段值自加1:"a=a+1"
是否允许插入自增ID
获取或设置表名
获取表的结构。
执行的调试语句输出
当前的数据库类型
原始行数据。
UI操作
ORM CodeFirst 字段来源
从实体属性来
从数据库或文本数据来
综合以上两者
简单ORM基类(纯数据交互功能)
标识是否允许写日志。
是否启用了AOP拦截设置字段值同步。
字段来源(当字段变更时,可以设置此属性来切换更新)
构造函数
设置Aop状态
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
表名,如:Users
初始化状态[继承此基类的实体在构造函数中需调用此方法]
实体对象,一般写:this
表名,如:Users
数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串
将原有的初始化改造成延时加载。
插入数据
插入数据
插入选项
插入数据
插入主键
插入数据
自动从控制获取值
插入选项
插入主键
更新数据
更新数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
更新数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
是否自动获取值[自动从控件获取值,需要先调用SetAutoPrefix或SetAutoParentControl方法设置控件前缀]
删除数据
删除数据
where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天']
查询1条数据
查询1条数据
列表查询
列表查询
查询条件[可附带 order by 语句]
列表查询
查询几条
查询条件[可附带 order by 语句]
带分布功能的选择[多条件查询,选择所有时只需把PageIndex/PageSize设置为0]
第几页
每页数量[为0时默认选择所有]
查询条件[可附带 order by 语句]
返回的记录总数
获取记录总数
查询是否存在指定的条件的数据
释放资源
一个强类型的资源类,用于查找本地化的字符串等。
返回此类使用的缓存的 ResourceManager 实例。
使用此强类型资源类,为所有资源查找
重写当前线程的 CurrentUICulture 属性。
查找 System.Byte[] 类型的本地化资源。
查找 System.Byte[] 类型的本地化资源。
查找 System.Byte[] 类型的本地化资源。
查找 System.Byte[] 类型的本地化资源。
SQL 结构语句
获取单个列的表描述语句
获取指定的表架构生成的SQL(Create Table)的说明语句
获取指定的表架构生成的SQL(Create Table)语句
获取指定的表架构生成的SQL(Alter Table)语句
SQL语法解析规则
分析语法
分页存储过程语句类
Sql分页语句类
获取sql2005分页存储过程[输出带"br换行标签"]
首页查询
最后一页查询
前半段分页查询
后半段分页查询(即倒过来查询)
MSSQL、Oracle的行号分页
临时表分页(不带自增加序列)
临时表分页(带自增加序列)
获取order by 语句
排序是否反转
Sql语句多数据库兼容
同语句多数据库兼容处理
Sql 语句格式化类 (类似助手工具)
Sql关键字处理
去除关键字符号
Sql数据库兼容和Sql注入处理
移除"where 1=1"
创建补充1=2的SQL语句
表名、或视图语句
Mysql Bit 类型不允许条件带引号 (字段='0' 不可以)
静态的对IField接口处理
将各数据库默认值格式化成标准值,将标准值还原成各数据库默认值
[0:转成标准值],[1:转成各数据库值],[2:转成各数据库值并补充字符串前后缀]
该列的值
用List 也是因为内存读写异常问题(所有的[]数组,看似都有这问题)
用于多数据库兼容的替换关键字/函数
对于Bit类型[是/否] 类型的排序:[#DESC] (Access特殊)
对于Bit类型[是/否] 类型的排序:[#ASC] (Access特殊)
对于Bit类型[是/否] 的条件值:[#TRUE]
对于Bit类型[是/否] 的条件值:[#FALSE]
数据库函数 Len 取长度:[#LEN](字段)
数据库函数 GUID 获取:[#GUID]
数据库函数 ISNULL 判断:[#ISNULL](ColumnName,ReplaceValueWhenIsNull)
数据库函数 GetDate 获取当前时间:[#GETDATE]
数据库函数 Year 获取时间的年:[#YEAR](字段)
数据库函数 Month 获取时间的月:[#MONTH](字段)
数据库函数 Day 获取时间的日:[#DAY](字段)
数据库函数 Substring 截取字符串:[#SUBSTRING](字段,起始索引int,长度int)
示例: [#Substring](Title,0,2)
数据库函数 CharIndex 查询字符所在的位置:[#CHARINDEX]('要查询的字符',字段)
示例: [#CHARINDEX]('findtitle',Title)>0
数据库函数 DateDiff 比较日期的差异天数:[#DATEDIFF](参数,开始时间,结束时间)
参数:"yyyy", "m","d", "h", "n", "s"
数据库函数 Case 分支语句,其它Case 一起的关键字也需要包含。
示例: [#CASE] [#WHEN] languageID={1} [#THEN] {2} [#ELSE] 0 [#END]
数据库函数 Case When 分支语句,其它Case 一起的关键字也需要包含。
示例: [#CASE#WHEN] languageID={0} [#THEN] 1000000 [#ELSE] 0 [#END]
数据库链接符号 + Oracle下为:||
数据库函数:Left(column,length)
数据库函数:Right(column,length)
数据类型转换类
获得数据类型对应的Type
获得数据类型对应的Type
将DbType类型对应映射到SqlDbType类型
DbType类型
将DbType类型字符串表达方式对应映射到SqlDbType类型
类型名称
将DbType类型字符串表达形式对应映射到DbType类型
类型名称
将DbType类型字符串表达形式对应映射到DbType类型
类型名称
将SqlDbType类型对应映射到DbType类型
SqlDbType类型
字母型返回0;数字型返回1;日期型返回2;bool返回3;guid返回4;其它返回999
字母型返回0;数字型返回1;日期型返回2;bool返回3;guid返回4;其它返回999
导数据,创建表所用
单元结构
数据库类型
数据库版本号
CodeFirst时的默认类型的字段长度。
表结构类
全局表名缓存(只缓存表名和表名的描述)
全局缓存实体类的表结构(仅会对Type读取的结构)
DbDataReader的GetSchema拿到的DataType、Size、Scale很不靠谱
获取表(带缓存)
缓存表架构Key
是否存在表或视图
"U"或"V"
表名或视图名,允许database.tableName
获得表的描述
数据操作语句类
oracle序列名称
是否允许执行SQL操作(仅对Insert和Update有效;如果SQL语法错误,则拒绝执行)
更新操作的附加表达式。
指定查询的列。
返回插入的字符串
结果如:insert into tableName(ID,Name,Value) values(@ID,@Name,@Value)
返回不包括Where条件的字符串
结果如:Update tableName set Name=@Name,Value=@Value
获取主键组合的Where条件。
根据元数据列组合where条件。
获得批量导入的列名。
对于自定义控件,只要继承此接口,即可以使用GetFrom与SetTo方法
控件的值
控件的启用状态
控件的名称(Name)或ID
第三方控件UI注册
添加要注册的第三方控件名称。
控件类名,如:TextBox
控件的自动取值或赋值属性名称,如:Text
清除UI注册
UI 对外接口
批量对所有控件自动赋值【默认前缀为(txt,ddl,chb),可通过调用SetAutoPrefix调整】
父控件(可设置:this)
可选(其它的父控件)
action.SetAutoPrefix("txt","ddl");//设置控件的前缀
action.UI.SetToAll(this);
将值赋给控件
控件对象
示例:action.UI.SetTo(txtUserName);//同于:txtUserName.Text=action.Get<string>(Users.UserName);
指定对某个属性赋值
设置控件是否可用
从控件中取值
控件对象
示例:action.UI.GetFrom(txtUserName);//获取TextBox默认Text属性的值
从指定的属性里取值
若控件无值,则取此默认值
绑定DrowDownList等列表控件
(下拉)列表控件
绑定DrowDownList等列表控件
绑定下拉等列表,控件需要继承自:ListControl。
DropDown/CheckBoxList/RadioButtonList等
对表的数据进行过滤如:"ID>15 and Url='cyqdata.com'"
绑定时显示的字段名[默认字段名取自控件的ID(去掉前三个字母前缀)]
绑定时显示字段对应的值[默认值的字段名为:ID]
自动获取值前缀设置,可传多个前缀[至少1个]
第一个前缀[必须]
后面N个前缀[可选]
(Win或WPF)自动获取值父控件设置,可传多个父控件[至少1个]
第一个父控件名称[必须,可传:this]
后面N个[可选]
MDataRow值-》赋给控件。
从控件里取值-》MDataRow (返回属性名称)
自动设置列的值(true为插入,false为更新)
对单个值自动取值。
主键自动取值。
实现此接口,来扩展自定义IField语法
内部的SQL语句
列序号[列的顺序]
列名或表名
数据库类型操作类
简单工厂(Factory Method)
所有链接的对象集合
定时检测异常的链接是否恢复。
数据库操作基类 (模板模式:Template Method)
记录SQL语句信息
是否允许进入写日志中模块
数据库链接实体(创建的时候被赋值);
当前使用的链接对象
获得链接的数据库名称
数据库的版本号
是否允许记录SQL语句 (内部操作会关掉此值为False)
切换数据库(修改数据库链接)
是否数据库名称变化了
存储过程返回值。
存储过程OutPut输出参数值。
如果只有一个输出,则为值;
如果有多个输出,则为Dictionary。
并发操作检测
处理内置的MSSQL和Oracle两种存储过程分页
记录执行时间
测试链接
1:只允许当前主链接;2:允许主备链接;3:允许主备从链接
切换链接
打开链接只切主备
打开链接,允许切从。
事务(有则)回滚
输出错误(若事务中,回滚事务)
抛出异常
LogType
日志类型
调试
信息
警告
错误
断言
Write Log to txt or database
日志静态类(可将日志输出到文本中)
内部写日志
write log to database [LogConn must has config value]
将日志写到数据库中[需要配置LogConn项后方生效 ]
write log to database [LogConn must has config value]
将日志写到数据库中[需要配置LogConn项后方生效 ]
Write log to txt
将日志写到外部txt[web.config中配置路径,配置项为Logpath,默认路径为 "Log/" ]
Convert Exception to string
获取异常的内部信息
A class for you to Write log to database
日志记录到数据库(需要配置LogConn链接后方有效)
标识主键
日志类型
请求的地址
日志内容
记录者用户名
创建时间
区分Oracle11和Oracle12的Dll名称。
抽象工厂
值-1未初始化;0使用OracleClient;1使用DataAccess;2使用ManagedDataAccess
是否使用Oracle的ODP.NET组件。
多语言操作类
获取加载的Xml语言文件的完整(路径)名称
获取或设置当前语言类型(如果有设置语言Cookie,则初始化时从Cookie恢复)
获取系统默认的语言(取值顺序:AppConfig.XHtml.SysLangKey - > 浏览器语言 -》 默认中文)
实例化
xml文件路径
是否Html文件
是获从Cookie初始化默认语言
实例化
xml文件路径
是否Html文件
实例化
xml文件路径
获取多语言节点值
Xml节点ID
获取多语言节点值
Xml节点ID
LanguageKey对应的数字
获取多语言节点值
Xml节点ID
获取的语言
设置语言类型到Cookie中
设置语言类型到Cookie中
获取LanguageKey数字对应的枚举名称
获取LanguageKey枚举对应的数字
LanguageKey枚举名称
Rss操作类
RSS 频道(默认)
设置网站标题
网站名称
网址
网站描述
设置图片(网站Logo)
Logo网址
Logo标题
Logo点击时跳转链接
添加RSS项(文章)
标题
链接
作者
发布日期
内容或摘要
LoadData(MDataTable)进行映射后,在格式化每一行数据时触发事件
获取输出的RSS内容。
加载MDataTable,之后可调用SetMap进行字段映射
设置与MDataTable间的字段映射
Rss名称
格式化,如“{0}.Name”,若无需要格式化,直接赋Null值
同DataTable的字段名称
RSS 频道
定义频道的标题
定义指向频道的超链接
描述频道
为 feed 定义所属的一个或多个种类
注册进程,以获得 feed 更新的立即通知
告知版权资料
规定指向当前 RSS 文件所用格式说明的 URL
规定指向当前 RSS 文件所用格式说明的 URL
规定编写 feed 所用的语言
定义 feed 内容的最后修改日期
定义 feed 内容编辑的电子邮件地址
为 feed 的内容定义最后发布日期
feed 的 PICS 级别
规定忽略 feed 更新的天
规定忽略 feed 更新的小时
规定应当与 feed 一同显示的文本输入域
指定从 feed 源更新此 feed 之前,feed 可被缓存的分钟数
定义此 feed 的 web 管理员的电子邮件地址
定义此 feed 的 图片Logo
频道项
图片项
图片地址
图片标题
提供图片的站点链接
描述频道
RSS项
定义频道的标题
定义指向频道的超链接
描述频道
为 feed 定义所属的一个或多个种类
规定项目作者的电子邮件地址
允许项目连接到有关此项目的注释(文件)
允许将一个媒体文件导入一个项中
为 项目定义一个唯一的标识符
定义此项目的最后发布日期
为此项目指定一个第三方来源
RSS 项枚举
XHtmlAction 使用时的值替换
Set 方法中 原节点的值 :[#source]
LoadData加载数据后,数据的值 :[#new]
MutilLanguage 类 Get方法取到值后,按[#langsplit]分隔并按当前语言返回分隔符前面或后面值
Xml/Html操作类
默认构造函数[操作无名称空间的Xml]
构造函数
true时,将自动载入html的名称空间(http://www.w3.org/1999/xhtml)
构造函数
true时,将自动载入html的名称空间(http://www.w3.org/1999/xhtml)
true时文档应为只读,所获取是同一份文档引用;false时文档可写,每次获取会克隆一份文档返回。
构造函数
当Xml的名称空间[若有]
GetByID or GetByName
id or name
添加节点
parentNode的第N个子节点之后
保留节点,但清除节点所内容/属性
移除子节点
节点的ID
从第几个子节点开始删除[索引从0开始]
移除子节点
节点
从第几个子节点开始删除[索引从0开始]
移除多个属性
属性移除
属性名称
排除的节点类型
移除注释节点
移除此节点的注释文本
移除注释节点
两个节点交换位置
第一个节点
第二个节点
节点替换[支持两个的文档间替换]
节点之后插入[支持两文档之间的插入]
要被插入的新节点
在此节点后插入NewNode节点
节点之前插入[支持两文档之间的插入]
要被插入的新节点
在此节点前插入NewNode节点
当前请求是否用户当前设置的语言
是否开始自定义语言分隔(分隔符号为:[#langsplit])
为节点赋值[通常值是在values中赋值]
对节点赋值(此方法会忽略hidden隐藏域,隐藏节点赋值请用其它重载方法)
加载MDataTable的多行数据
装载数据行 (一般后续配合SetForeach方法使用)
对于SetForeach函数调用的格式化事件
加载MDatarow行数据(CMS替换)
批量赋值的前缀(如:"txt#",或空前缀:"")赋值后,将在获取OutXml属性时处理赋值
装载数据行 (一般后续配合SetFor方法使用或CMS替换)
批量赋值的前缀(如:"txt#",或空前缀:"")赋值后,将在获取OutXml属性时处理赋值
装载行数据 (一般后续配合SetFor方法使用)
数据行
为节点设置值,通常在LoadData后使用。
节点的ID
为节点设置值,通常在LoadData后使用。
节点的类型
为节点设置值,通常在LoadData后使用。
setType为Custom时,可自定义值,如“"href","http://www.cyqdata.com","target","_blank"”
转Json
转Json
可设置一个节点(默认根节点)
是否将属性值也输出
操作Xml及XHtml的基类
文件编码
用于批量赋值(LoadData(MDataRow,pre)方法装载)
xml对象
内部XmlDocument对象
命名空间对象
缓存对象
Html名称空间
加载的Xml文件的完整(路径)名称
xml缓存的key
存取档不克隆(此时XHtml应是只读模式)
文档是否取自缓存
缓存分钟数
返回最终格式化后的XHtml内容。
加载的Html是否已改变
从绝对路径中获得文件名做为Key值
docTypeHtml是一样的。
从xml字符串加载
xml字符串
从文件中加载Xml
加载XML
加载Xml文件
文件名
文件缓存级别
加载后是否清除注释节点
从缓存中加载html
移除所有注释节点
从文件加载XML (最终调用的方法)
将文档缓存到全局Cache中
缓存的Key名称
是否克隆副本存档
将文档缓存到全局Cache中
缓存的Key名称
是否克隆副本存档
存档的分钟数
文件保存
指定保存路径
给指定的字符加上CDATA
对象字符
清除CDATA
对象字符
替换掉MMS前缀
对象字符
过滤XML(十六进制值 0x1D)无效的字符(同时替换>符号)
释放资源
assemblyShortName;component/resourceLocation, 例如"/SilverlightLibraryAssembly;component/image.png"。 请注意,需要使用前导斜杠和 component 关键字(后跟一个斜杠)。
设置操作的节点属性类型
A链接标识,最多可赋4个值为:InnerXml,href,title,target
自定义,以“属性,值,属性,值”这样的对应设置,无个数限制。
语言种类
未设置状态
中文
英文
法语
德语
韩语
日语
印地语
俄语
意大利语
自定义语言
Xml|XHtml 加载后缓存级别
无缓存
低缓存,5分钟
默认取自配置项CacheTime时间,
1分钟
1小时
1天时间
一周时间