Dapper.net的速度很快,最近看源码,原来他orm的实现是通过编写大量IL代码实现的. 使用DynamicMethod,自己编织一个给实体赋值的方法.这种写法效率很高,接近直接对属性赋值.比使用反射赋值效率高10倍左右. 下面分别使用Emit,反射,直接赋值100000次来进行对比测试. public static Action<T, object> EmitSetter<T>(string propertyName) { var type = typeof(T); var
为了解决从数据库读取的表字段和自己建的viewModel字段名称不相符的问题 本人小白,初次将特性及反射应用到实例,写的不好的地方还请大家多多包涵 新建一个控制台应用程序命名为ReflectAndAttribute 自定义一个特性MTestyAttribute namespace ReflectAndAttribute { [AttributeUsage(AttributeTargets.Property)] public class MTestyAttribute:Attribute { pu