我的ORM之八-- 事件
dbo.Event
需要新建一个类,继承:IDboEvent,并设置给:dbo.Event,如:
dbo.Event = MyOqlEvent.GetInstance();
在 IDboEvent 中有如下事件:
// 批量插入前事件。参数是:当前实体,插入的数据集,返回值。
public event Func<ActionClipBase, bool> BulkInserting;
// 批量更新前事件。参数是:当前实体,更新的数据集,返回值。
public event Func<ActionClipBase, bool> BulkUpdating;
// 创建后事件。参数是:当前实体,创建的Model。
public event Action<ActionClipBase> Created;
// 创建前事件。参数是:当前实体,创建的列,创建的Model,返回 DoingResult
public event Func<ActionClipBase, bool> Creating;
// 解密数据库连接字符串的事件。
public virtual event Func<string, string> DecrypteEvent;
// 删除后事件。参数是:当前实体,已删除的Id值(Id值表示法,MyOql.WhereClip.GetUniqueExpValue(MyOql.RuleBase)),删除记录数。
public event Action<ActionClipBase> Deleted;
// 删除前事件。参数是:当前实体,要删除的Id值(Id值表示法,MyOql.WhereClip.GetUniqueExpValue(MyOql.RuleBase)),返回是否允许。
public event Func<ActionClipBase, bool> Deleting;
public event Action<ActionClipBase> Executed; // 生成SQL事件。参数是:生成SQL的数据库类型,当前命令。
public event Action<DatabaseType, ActionClipBase> GenerateSqled;
// 存储过程执行后事件。参数是:当前实体。
public event Action<ActionClipBase> Proced;
// 存储过程执行前事件。参数是:当前实体,参数字典。
public event Func<ActionClipBase, bool> Procing;
// 读取前事件。参数是:当前实体,读取的Id值(Id值表示法,MyOql.WhereClip.GetUniqueExpValue(MyOql.RuleBase)),读取的列,返回值。
public event Func<SelectClip, bool> Reading;
// 更新后事件。参数是:当前实体,更新的Id值(Id值表示法,MyOql.WhereClip.GetUniqueExpValue(MyOql.RuleBase)),更新记录数,更新Model。
public event Action<ActionClipBase> Updated;
// 更新前事件.参数为:当前实体,要更新的Id值(Id值表示法,MyOql.WhereClip.GetUniqueExpValue(MyOql.RuleBase)),更新的列,更新的Model,返回值。
public event Func<ActionClipBase, bool> Updating;
我的ORM之八-- 事件的更多相关文章
- 我的ORM汇总
MyOql是我写的ORM,目前仅支持 MSSql2005+ ,从2009年到今天,已使用过不少项目,之后会写 其它关系数据库的解析器: MySql,Sqlite,Oracle 等. 代码地址(最新版) ...
- Android 开发框架介绍
一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal ...
- JNI详解---从不懂到理解
转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 C ...
- 【Python学习之八】ORM
ORM 什么是ORM呢? ORM全称是:Object-Relational Mapping.即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表.这样,写代码更简单,不用直接 ...
- 九十四、SAP中ALV事件之八,显示功能按钮栏
一.我们把其他代码都注释掉,直接写一行调用 SET PF-STATUS 'TIANPAN_TOOLS'. 二.运行程序,会看到我们上一篇所添加的相关功能栏图标, 三.点击不同图标,会按程序代码,有不同 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...
- .NET 开源SqlServer ORM框架 SqlSugar 3.0 API
3.1.x ,将作为3.X系统的最后一个版本,下面将会开发 全新的功能 更新列表:https://github.com/sunkaixuan/SqlSugar/releases 优点: SqlSuga ...
- [开源ORM] SqliteSugar 3.x .net Core版本成功上线
SqliteSqlSugar 3.X API 作为支持.NET CORE 为数不多的ORM之一,除了具有优越的性能外,还拥有强大的功能,不只是满足你的增,删,查和改.实质上拥有更多你想像不到的功能,当 ...
随机推荐
- docke部署mysql
#1 docker pull mysql #2 docker run -v /data/var/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=k ...
- Linux多线程服务端编程一些总结
能接触这本书是因为上一个项目是用c++开发基于Linux的消息服务器,公司没有使用第三方的网络库,卷起袖子就开撸了.个人因为从业经验较短,主 要负责的是业务方面的编码.本着兴趣自己找了这本书.拿到书就 ...
- tfs 删除工作区
公司员工离职后,有部分文件迁出,有没有tfs密码的情况下,考虑删除工作区,在网上找到方法实践有效,在次记录下. 在命令提示行下进入 “...\Microsoft Visual Studio 8\Com ...
- python安装使用talib
安装主要在http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站找到 按照需要的python版本和平台位数下载,然后直接用pip install 进行安装 包含的 ...
- DIV+CSS:页脚永远保持在页面底部
页脚永远保持在页面底部 有时候,我们用CSS创建一个高度自适应布局,如何保证页脚(footer)在内容不超过一屏的情况下始终保持在布局最下方是一个比较头疼的事.我看过一些利用绝对定位的例子,但总感觉不 ...
- Python3 升级pip
(Windows) 用 pip install --Upgrade pip进行自升级不成功,执行至卸载完再安装时出错,最后还是用get_pip.py解决了!
- Unity随记
//切换场景时怎么能让音乐不停? /////////////////////////////////////////////////////////////////// //切换场景时怎么防止某个物体 ...
- js 正则验证输入框只允许输入正实数和正整数和负整数
<input onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')"> (正实数) <input onke ...
- js中的定义
执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为,每个执行环境都有一个与之关联的 变量对象:环境中定义的所有变量和函数都保存在这个对象中.(在函数中这个变量对象叫活动对象) ...
- UIAppearance
1> 只要遵守了UIAppearance协议,还要实现这个方法才能调用appearance相关方法 2> 只有被UI_APPEARANCE_SELECTOR宏修饰的属性,才能设置 // 获 ...