ExpressionTree,Emit,反射】的更多相关文章

C#利用Emit反射实现AOP,以及平台化框架封装思路 这是前两天扒的一段动态代理AOP代码,用的Emit反射生成子类来实现代理模式,在这里做个小笔记,然后讨论一下AOP框架的实现思路. 首先是主函数: static void Main(string[] args) { RealClass proxy = (RealClass)DynamicProxyBuilder.Wrap(typeof(RealClass)); proxy.Test(); Console.ReadKey(); } 用一个动态…
缘起 最近又换了工作.然后开心是以后又能比较频繁的关注博客园了.办离职手续的这一个月梳理了下近一年自己写的东西,然后就有了此文以及附带的代码. 反射 关于反射,窃以为,他只是比较慢.在这个前提下,个人认为只有在进行集合操作的时候谈论反射的性能才有意义.同时,只有在这个集合达到一定规模的时候,才有改进的余地.比如说,1000个元素的集合.后文会给出详细的数据. 关于ExpressionTree的介绍 借花献佛: http://www.cnblogs.com/ASPNET2008/archive/2…
Emit的准确定义,我们看看微软给出的答案 System.Reflection.Emit 命名空间包含{ 允许编译器或工具发出元数据和发出 Microsoft 中间语言 (MSIL) ,并可选择在磁盘上生成 PE 文件的类. 这些类的主要客户端是脚本引擎和编译器. } Emit可以直接让编译器发出元数据及msil,这样做的优势又是什么? MSIL是将.NET代码转化为机器语言的一个中间过程.它是一种介于高级语言和基于Intel的汇编语言的伪汇编语言.当用户编译一个.NET程序时,编译器将源代码翻…
目  录 C# 使用Emit实现动态AOP框架 (一) C# 使用Emit实现动态AOP框架 (二) C# 使用Emit实现动态AOP框架 (三) C# 使用Emit实现动态AOP框架 进阶篇之异常处理 C# 使用Emit实现动态AOP框架 进阶篇之优化 最近需要有一个完全自主的基于C#语言的Aop框架,查了一下资料实现方式主要分为:静态织入和动态代理,静态织入以Postshop为代表,而动态代理又分为: 1.普通反射 2.Emit反射 3.微软提供的.Net Remoting和RealProx…
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一对一映射 3.2 一对多映射 3.3 插入实体 3.4 执行存储过程 Dapper是一款轻量级ORM工具(Github).如果你在小的项目中,使用Entity Framework.NHibernate…
现在成熟的ORM比比皆是,这里只介绍Dapper的使用(最起码我在使用它,已经运用到项目中,小伙伴们反馈还可以). 优点: 1.开源.轻量.小巧.上手容易. 2.支持的数据库还蛮多的, Mysql,SqlLite,Sqlserver,Oracle等一系列的数据库. 3.Dapper原理通过Emit反射IDataReader的序列队列来快速的得到和产生对象.性能貌似很牛逼的样子 缺点: 作为一款ORM太过于轻量级了,根据对象自动生成sql的功能还是空白,需要自己来扩展, 当然这也是优点,  好声音…
Dapper应用 1.Dapper是什么 Dapper是一款轻量级ORM工具.如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用牛刀.你又觉得ORM省时省力,这时Dapper 将是你不二的选择. 2.为什么使用 轻量,编译完成之后只有120k(好象是变胖了) 速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 支持多种数据库.Dapper可以在所有Ado.net Providers…
前一段做一个技术分享关于dapper的,现在再总结一下,也好长时间没有更新博客了--,用到的东西 Dapper.AutoFac .AutoMapper.FluentValidation: 下面说一下Dapper的优点: Dapper是一个轻型的开源ORM类,代码就一个SqlMapper.cs文件,编译后就40多K的一个很小的Dll. Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如果你知道原理也可以让它支持Mongo db…
Deft 简介 Deft是一个超轻量级高性能O/R mapping数据访问框架,简单易用,几分钟即可上手. Deft包含如下但不限于此的特点: 1.按照Transact-SQL的语法语义风格来设计,只要调用者熟悉基本的Transact-SQL语法即可瞬间无忧开码,大大降低了学习Deft的成本,甚至零成本.2.性能十分不错(个人觉得易用性很重要,只要性能不拖后腿就好了),通过缓存+Emit反射IDataReader,极速获取List<T>.3.强大的查询功能,支持使用Lambda表达式任意组装w…
Dapper是一款开源的轻量级ORM工具,源代码下载地址为https://github.com/StackExchange/dapper-dot-net,其具有以下特点: 1.Dapper是一个轻型的ORM类. 2.Dapper的速度接近于IDataReader,取列表的数据超过了DataTable. 3.Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等多种数据库 4.Dapper支持多表并联的对象.支持一对多 多对多的关系.无XML无属性. 5…