天天看點

asp.net core 3.1 efcore group by 使用

//擷取上下文
                        var recordContext = _dbContext.Set<tenant_couponrecord>();
                        var groupByCoupon = (from r in recordContext
                                             where r.tenant_id == tenant_id && r.shop_code == shop_code && couponIdlist.Contains(r.CouponId)
                                             group r by r.CouponId into gc
                                             select new { CouponId = gc.Key, Count = gc.Count() }).ToList();

                        if (groupByCoupon != null && groupByCoupon.Count > 0)
                        {
                            foreach (var c in ret)
                            {
                                var groupC = groupByCoupon.Find(p => p.CouponId == c.Id);
                                if(groupC!=null)
                                {
                                    c.RecoredCount = groupC.Count;
                                }

                            }
                        }      

1、先擷取該表/實體的 dbContext上下文;

2、寫linq的lambda表達式;

3、表達式外面套一個ToList(),就可以像正常的List正常使用了。

作者:沐雪

繼續閱讀