通过前3章文章,大致对ORM有一定的了解,但也存在效率低下(大量用了反射)和重复代码,今天我们要对ORM进行优化。

具体流程如下:

一步步实现自己的ORM(四)

我们优化的第一个就是减少反射调用,我的思路是定义一个Mapping,把表名、字段名信息缓存起来,EntityMapping 表示实体类信息对应数据库中的table,MemberMapping表示实体类的属性对应数据库中的Column。

EntityMapping代码:

    class EntityMapping
    {
        /// <summary>
        /// 对应实体类类型
        /// </summary>
        public Type EntityType { get; internal set; }

        /// <summary>
        /// 表名
        /// </summary>
        public string TableName { get; set; }

        /// <summary>
        /// 实体属性
        /// </summary>
        public List<MemberMapping> Members;

        /// <summary>
        /// 主键
        /// </summary>
        public List<MemberMapping> PrimaryKey { get; set; }
       
    }
View Code

相关文章: