星空网 > 软件开发 > 数据库

MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事

回到目录

关于官方驱动集成IQueryable之后的一些事,有好事也有坏事,好事就是它会将你的linq语句非常友好的翻译成MongoDB.aspx' >MongoDB语句,而坏事就是有一些linq语句不会被翻译,不会被翻译的代价就是将整个结果集装到内存,然后进行linq to object的查询,效率自然是非常低的,呵呵。

好事

最新官方驱动中,添加了对IQueryable扩展方法的支持

    public static IMongoQueryable<TDocument> AsQueryable<TDocument>(this IMongoCollection<TDocument> collection);

1 它对Where完成支持

_webManageUsersRepository.GetModel().Where(i => i.LoginName == "zzl");

2 它对group完全支持

 var g = _webManageUsersRepository.GetModel()        .GroupBy(i => i.DepartmentID, (i, v) => new         {          dept = i,          userCount = v.Count()        });

通过断点我们可以看到它所生成的mongodb语句,然后可以把语句放在命令行中去执行看看具体效果

坏事

对count()方法完成不支持,不推荐使用,如果要用到count(),建议使用mongo原生态的,而不是linq的

      Stopwatch sw1 = new Stopwatch();      sw1.Restart();      var a1 = _webManageUsersRepository.Count(i => true);//性能好      sw1.Stop();      var at1 = sw1.ElapsedMilliseconds;      Stopwatch sw = new Stopwatch();      sw.Restart();      var a = _webManageUsersRepository.GetModel().Count();//性能差      sw.Stop();      var at = sw.ElapsedMilliseconds;

回到目录

 




原标题:MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事

关键词:MongoDB

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

今天520,娶个做跨境电商的女生为妻的20个理由!(下篇):https://www.ikjzd.com/articles/94297
亚马逊物流对商品有哪些要求?:https://www.ikjzd.com/articles/94298
终于!战斗民族也到了被入侵的时候……:https://www.ikjzd.com/articles/94299
亚马逊无货源操作简单,但运营推广不可缺少!:https://www.ikjzd.com/articles/94301
美康粉黛 | 最中国风的产品,最国货的品牌:https://www.ikjzd.com/articles/94303
榜单:2018年跨境电商上市公司总营收已超460亿!:https://www.ikjzd.com/articles/94307
跨境支付百科——巴西支付篇:https://www.kjdsnews.com/a/1836648.html
大福地快捷酒店预订 大福酒店怎么走:https://www.vstour.cn/a/365187.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流