请问作者说此ORM达到原生水平的依据? 返回

C#论坛 老数据
2 3267

        在作者的博客 https://www.cnblogs.com/sunkaixuan/p/7043409.html 上看了作者对此ORM的介绍:"走的是EMIT够构中间语言动态编译到程序集,完成高性能的实体绑定,达到原生水平" "完美的语法,可以秒杀现有所有ORM框架" 云云。既然作者说得这么有信心,那咱不妨用事实来看看:

(EG6W(6(LIGN72D[SZE7A2W.png

HGG21QDM9RX~OM(P8)S`GHE.png

~UAL8QK)%D%G_JW{_$__%PR.png

1.那么问题来了,19秒跟29秒比,用什么标准来衡量说达到了原生水平?



对于导航属性(这里作者称之为复杂模型,无妨),这是是这么用的

[SugarColumn(IsIgnore = true)]
    public CMSchool SchoolSingle
    {
        get
        {
         return base.CreateMapping<CMSchool>().Single(it => it.Id == this.SchoolId);
        }
    }
 
    [SugarColumn(IsIgnore = true)]
    public List<CMSchool> SchoolList
    {
        get
        {
         return base.CreateMapping<CMSchool>().Where(it => it.Id == this.SchoolId).ToList();
        }
    }

想象一下这样的应用场景,前台有分页展示的列表,列表中需要显示 SchoolSingle SchoolName字段,假如每页显示200条,那么除的在取列表时访问一次数据库以外,还会产生200次的数据库访问

image.png

2.那么问题来了,EF 有Include 语法一次性加载,Dapper 也有类似的重载(Query<T1,T2>(sql,Func...)一次性加载,作者所说的秒杀从何而来?YY来的?

热忱回答2

  • 我本人是很让推崇开源,也很佩服和尊重致力开源的同行。但是,非常反感和鄙视有坑不明说还说得天花乱坠的行为。

    0 回复
  • o0MiouPo o0MiouPo VIP0
    2018/8/24

    说得好

    0 回复