接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理。

还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下推崇最高的两种ORM工具。

1、EntityFramework是出自微软根正苗红的.net下的ORM工具,直接在Vs工具和Mvc框架中集成了,默认生成的项目就是使用EntityFramework的;微软也一直都在维护更新升级,最新版本都到EF7了。也迁移到了最新的.net Core平台了。

2、Dapper也是个厉害的角色。号称.net下"无敌",速度最快

但是他们两个开发方式完全不一样,个人认为EntityFramework是基于领域模型的,Dapper是基于sql的

注:我以前没用Dapper做过项目。之前一直讨厌Dapper,对赤裸裸的sql有很大成见,原因一程序员去直接写sql搞不好就会导致sql注入风险,原因二我认为程序员应该花精力琢磨逻辑如何写,而不是和DBA比写sql的功底

注:EntityFramework我也用的少,我主导的项目都是用我自己开发的ORM工具,维护别人的项目经常碰到EntityFramework生成复杂到不可理喻的sql,而且EntityFramework几乎不能在一个项目中分库分表读写分离操作(这个问题已经解决,后面会讲到)

现在要做的就是让ORM工具(含EntityFramework和Dapper)以面向接口的方式工作,"屏蔽"掉一些个性化的差异


一、面向接口数据处理模块

面向接口数据处理模块很简单,就是一堆数据处理的接口,像数据仓储接口。有了它们几乎所有数据仓储都不用再定义新接口了,主要的核心接口全部公布如下:

    /// <summary>
    /// 实体泛型主键接口
    /// </summary>
    /// <typeparam name="TPrimaryKey"></typeparam>
    public interface IEntity<TPrimaryKey> : IEntity
    {
        /// <summary>
        /// 主键
        /// </summary>
        TPrimaryKey Id { get; set; }
    }
    /// <summary>
    /// 实体接口
    /// </summary>
    public interface IEntity
    {
        /// <summary>
        /// 主键
        /// </summary>
        object ObjId { get; }
    }
1、IEntity

相关文章:

  • 2021-10-15
  • 2022-12-23
  • 2021-09-10
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-05-05
  • 2022-12-23
相关资源
相似解决方案