我的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之八-- 事件的更多相关文章

  1. 我的ORM汇总

    MyOql是我写的ORM,目前仅支持 MSSql2005+ ,从2009年到今天,已使用过不少项目,之后会写 其它关系数据库的解析器: MySql,Sqlite,Oracle 等. 代码地址(最新版) ...

  2. Android 开发框架介绍

    一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal ...

  3. JNI详解---从不懂到理解

    转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 C ...

  4. 【Python学习之八】ORM

    ORM 什么是ORM呢? ORM全称是:Object-Relational Mapping.即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表.这样,写代码更简单,不用直接 ...

  5. 九十四、SAP中ALV事件之八,显示功能按钮栏

    一.我们把其他代码都注释掉,直接写一行调用 SET PF-STATUS 'TIANPAN_TOOLS'. 二.运行程序,会看到我们上一篇所添加的相关功能栏图标, 三.点击不同图标,会按程序代码,有不同 ...

  6. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  7. 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 数据库 ...

  8. .NET 开源SqlServer ORM框架 SqlSugar 3.0 API

    3.1.x ,将作为3.X系统的最后一个版本,下面将会开发 全新的功能 更新列表:https://github.com/sunkaixuan/SqlSugar/releases 优点: SqlSuga ...

  9. [开源ORM] SqliteSugar 3.x .net Core版本成功上线

    SqliteSqlSugar 3.X API 作为支持.NET CORE 为数不多的ORM之一,除了具有优越的性能外,还拥有强大的功能,不只是满足你的增,删,查和改.实质上拥有更多你想像不到的功能,当 ...

随机推荐

  1. 未添加document.ready产生的BUG

    今天在框架里使用superslide插件时,在javascript部分 <script type="text/javascript"> jQuery(".yj ...

  2. POJ 2135 Farm Tour 最小费用流

    两条路不能有重边,既每条边的容量是1.求流量为2的最小费用即可. //#pragma comment(linker, "/STACK:1024000000,1024000000") ...

  3. Oracle 表空间联机(online)与脱机(offline)

    数据库管理员可以在数据库处于开启(open)状态时令除 SYSTEM 表空间(tablespace)之外的任何表空间联机(online)(可访问)或脱机(offline)(不可访问).SYSTEM 表 ...

  4. PHP函数的实现原理及性能分析

    前言 在任何语言中,函数都是最基本的组成单元.对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行 ...

  5. javascript面向对象(三)

    主要内容: 利用原型链的方式实现继承: 原型继承的特点:即继承了父类的模板,也继承了父类的原型对象. 类继承:只继承模板(借用构造函数的方式继承). 利用call.apply方法实现: 混合继承: 扩 ...

  6. Java多线程开发技巧

    很多开发者谈到Java多线程开发,仅仅停留在new Thread(...).start()或直接使用Executor框架这个层面,对于线程的管理和控制却不够深入,通过读<Java并发编程实践&g ...

  7. Java 内部类摘抄

    关于Java的内部类,要说的东西实在太多,这篇博文中也无法一一具体说到,所以就挑些重点的讲.关于内部类的使用,你可能会疑问,为什么我们要使用内部类?为了回答这个问题,你需要知道一些关于内部类的重点.所 ...

  8. maven使用

    Maven是一个项目管理和构建自动化工具.但是对于我们程序员来说,我们最关心的是它的项目构建功能,它定义了项目开发的几个标准步骤:编译,发布,单元测试及部署以帮助项目开发 最简单的时候场景是,在pom ...

  9. .net/C# HttpWebRequest传送与接收参数

    public string PostData(string url, string data)//url:要发送到网站的地址 data:传送需要的参数 { HttpWebRequest myReque ...

  10. 利用chrome的profiler查找js的memory leak

    1. 首先要固定一个测试环境.具体来说,选择某一个可以重复的操作,作为标准的测试动作. 2. 刷新浏览器后用profiler抓下heap snapshot. 3. 进行操作,再一次抓下snapshot ...