关于efcoreNoSQL的信息

efcore并发时如何获取某列最大值

一、背景

武义网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

最近在一个项目里使用 EFCore 遇到需要 group 分组后,只选出每组中含有最大值的数据行。

二、解决方案

先分组用 group 找到分组中的最大值,再用  join  查出对应的行。

var groupFlows = Context.SetTInstanceFlow().AsNoTracking()

.GroupBy(f = f.ProcessInstanceId)

.Select(g = new { instanceId = g.Key, finish = g.Max(f = f.Finish) });

var flows = Context.SetTInstanceFlow().AsNoTracking()

.Join(groupFlows,

o = new { f1 = o.ProcessInstanceId, f2 = o.Finish },

i = new { f1 = i.instanceId, f2 = i.finish },

(o, i) = new { o, i })

.Select(g = new

{

Id = g.o.Id,

ProcessInstanceId = g.i.instanceId,

IsCanUndo = g.o.IsCanUndo,

});

关键点是红色部分的键值对匹配。

三、参考资料

select-rows-with-maximum-value-on-a-column-in-sql-server

join-query-in-ef-core/

.net ef core 检查是否插入成功

可以使用查询语句检查是否插入成功:

目前支持贪婪加载:使用Include加载 关联表 的数据,这种方式 使用一条Join的 Sql语句进行查询;

贪婪加载的优势在于仅执行1次SQL查询即返回所需要的结果。但使用JOIN查询在数据库记录条数较多时,多条简单的SQL查询往往比一条复杂的JOIN查询效率要好。

ef core 子对象集合插入顺序

数据库的顺序是有严格定义的,分物理顺序、逻辑顺序!! 物理顺序默认根据插入时间排列,也可以通过特定sql语句控制。

efcore 不打印sql

模式不对。efcore只有在Debug模式下才打印sql,所以我们在F5运行之前,需要调整调试模式,不要选择IISExpress,选择自己的项目web名称的那个,就可以打印了。


网页名称:关于efcoreNoSQL的信息
当前链接:http://bzwzjz.com/article/hcoecj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 专业网站设计 泸州网站建设 重庆网站制作 成都网站设计 外贸网站设计方案 成都网站设计 响应式网站设计 成都网站制作 成都企业网站制作 达州网站设计 网站建设改版 重庆网站建设 成都h5网站建设 成都营销网站建设 高端网站建设 H5网站制作 成都网站设计公司 定制网站建设多少钱 成都企业网站建设 企业网站制作 定制网站设计 广安网站设计