我的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之一,除了具有优越的性能外,还拥有强大的功能,不只是满足你的增,删,查和改.实质上拥有更多你想像不到的功能,当 ...
随机推荐
- Web工作原理
第一步:寻找域名服务器,将域名(www.nice.com)的主机解析成服务器的ip的地址. 第二步:使用http协议连接Apache网页服务器,请求到服务器对应的目录下的文件,例如:index.php ...
- iOS.ReactNative-3-about-viewmanager-uimanager-and-bridgemodule
RCTViewManager and RCTUIManager 1. RCTViewManager 1.1 RCTViewManager 实现了接口RCTBridgeModule @interface ...
- 新手看Mockplus
如今是一个快节奏的社会,每一天都会有无数的软件发布,每一款软件的制作过程不可避免的需要使用原型设计工具.而Mockplus就是一款原型设计软件,可以用于移动端,PC端以及WEB的原型设计.它也符合如今 ...
- sprintf()函数,把数字转换成字符串
char str_2[10]; int a=1234321; sprintf(str_2,"%d",a);
- nio加强服务端并发
究了一下Android推送,方式很多,比如用框架或者用第三方服务,在此并不讨论个中优劣.抱着学习的态度,本人不太喜欢用一些现成的东西,所以自己动手实现了一套简单的推送机制.使用TCP长连接,完成服务器 ...
- asp.net下简单的Epplus导出excel
引用的命名空间 using System.IO; using OfficeOpenXml; /// <summary> /// 导出excel /// </summary> / ...
- C#中SQL Server数据库连接池使用及连接字符串部分关键字使用说明
(1) 数据库的连接使用后,必须采用close()连接等效的方法关闭连接.只有关闭后,连接才能进入连接池. 参见微软的使用连接池说明:https://msdn.microsoft.com/zh-cn/ ...
- <转>简单之美——系统设计黄金法则
作者: 包云岗 发布时间: 2012-05-19 13:06 阅读: 3036 次 推荐: 1 原文链接 [收藏] 最近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自 ...
- 【Thinking in Java】Java Callable的使用
Callable<>和Runable类似,都是用于Java的并发执行. 唯一的区别是,Runable的run方法的返回是void,而Callable的call方法是有返回值的. call方 ...
- Fix git 提交代码错误
今天用git clone下代码,修改,push提交,发现以下错误 [root@localhost gocache]# git push origin master error: The request ...