我的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之一,除了具有优越的性能外,还拥有强大的功能,不只是满足你的增,删,查和改.实质上拥有更多你想像不到的功能,当 ...
随机推荐
- h5整理--详解css的相对定位和绝对定位
浏览器默认状态下position的属性默认值是static也就是没有定位,元素出现在正常的文档流中,这个时候给元素设置的left,right.bottom.top这些偏移属性是没有效果的,不会生效: ...
- C# 京东模拟登录小结
最近有需要模拟京东登录,在解决过程中遇到了一些问题,因此这里记录下来避免以后遇到同样的问题. 首先第一步需要做的是找到登录请求网址和关于请求所需的一些信息.这里可以用抓取工具或者直接用firebug或 ...
- linux挂载数据盘
http://jingyan.baidu.com/article/90808022d2e9a3fd91c80fe9.html
- Subliem Text 3 的安装和使用
前两天将Sublime Text3简单的看了看,发现是好经典的开发工具.... 1. sublime Text安装:www.sublimetext.com 此时的版本是: Build 3103 可用的 ...
- react-router配合webpack实现按需加载
很久没有写博客了.一直感觉没有什么要写的,但是这个东西确实有必要的.使用react开发,不可能一直打包到一个文件.小项目肯定没有问题,但是变大一旦到几兆,这个问题就很严重.现在又Commonjs,AM ...
- GDI+ 发生一般性错误解决办法
错误的代码g对象继续占用 未释放资源 如果路径不一样 没问题 相同路径 获取图片进行 缩略会造成GDI错误 /// <summary> /// 生成缩略图 /// </summary ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 排序算法 ----(转载::http://blog.csdn.net/hguisu/article/details/7776068)
1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表.即:先将序列的第1个记录看成是一个有序 ...
- k-sum问题
给定一个数组,里面的是任意整数,可能有重复,再给定一个目标T,从数组中找出所有和为T的K个数,要求结果中没有重复. Note: Elements in a quadruplet (a,b,c,d) m ...
- 封装ios静态库碰到的一些问题(三)
静态库封装好以后,就存在一个问题,静态库,模拟器的静态库何真机的静态库是分开的,那么能够合并,答案是肯定的,但是必须我们手工在终端工具下执行命令合并 lipo -create Release-ipho ...