菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

Code First 分组

5657人阅读 2021/3/29 16:03 总访问:1019564 评论:0 收藏:0 手机
分类: EF

根据linq表达式

  1.            //实例化数据
  2.            SchoolContext schoolcontext = new SchoolContext();
  3.            
  4.            
  5.            //linq表达式
  6.             var Info = from scroe in schoolcontext.Scroe
  7.                                    //根据ScroeName排序
  8.                            group scroe by scroe.ScroeName into scroetemp
  9.                            select new
  10.                            {
  11.                                //Key代表排序的那个字段
  12.                                scroetemp.Key,
  13.                                //求和
  14.                                sum = scroetemp.Sum(a => a.ScroeNum),
  15.                                //最大值
  16.                                max = scroetemp.Max(a => a.ScroeNum),
  17.                                //最小值
  18.                                min = scroetemp.Min(a => a.ScroeNum),
  19.                            };

根据lamdba表达式(GroupBy关键字)

  1.  //实例化数据
  2.  SchoolContext schoolcontext = new SchoolContext();
  3.                                                                  
  4.   var Info = schoolcontext.Scroe.GroupBy(a => a.ScroeName).Select(scroetemp => new {
  5.                //Key代表排序的那个字段,多个字段排序则通过Key点出该字段(Key.ScroeName)
  6.                 ScroeName = scroetemp.Key,
  7.                 sum = scroetemp.Sum(a => a.ScroeNum),
  8.                 max = scroetemp.Max(a => a.ScroeNum),
  9.                 min = scroetemp.Min(a => a.ScroeNum),
  10.             
  11.             });

示例(先查询,在分组)

  1.     //三表联查
  2.     var Info = schoolcontext.UserInfo.Join(schoolcontext.Parents, a => a.Sid, b => b.Uid, (a, b) => new
  3.              {
  4.                  User = a,
  5.                  father = b.Father,
  6.                  mather = b.Mather
  7.              }).Join(schoolcontext.Scroe, a => a.User.Sid, b => b.Uid, (a, b) => new
  8.              {
  9.                  Sid = a.User.Sid,
  10.                  UserName = a.User.UserName,
  11.                  Scroename = b.ScroeName,
  12.                  Scroenum = b.ScroeNum,
  13.                  Father = a.father,
  14.                  Mather = a.mather
  15.                  //根据查询的结果进行分组
  16.              }).GroupBy(a => new { a.Sid, a.Father, a.Mather, a.UserName }).Select(temptable => new 
  17.              {
  18.                  Sid = temptable.Key.Sid,
  19.                  UserName = temptable.Key.UserName,
  20.                  Sum = temptable.Sum(a => a.Scroenum),
  21.                  Min = temptable.Min(a => a.Scroenum),
  22.                  Max = temptable.Max(a => a.Scroenum),
  23.                  Avg = temptable.Average(a => a.Scroenum),
  24.                  Father = temptable.Key.Father,
  25.                  Mather = temptable.Key.Mather,
  26.              }).ToList();

排序  升序(OrderBy)降序(OrderByDescending)

  1. //升序(OrderBy
  2. Info = Info.OrderBy(a => a.Sum).ToList();
  3. //降序(OrderByDescending)
  4. Info = Info.OrderByDescending(a => a.Sum).ToList();


评价

NET Core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

Code First执行命令报错,无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件

EF:执行命令报错无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如...

EF Code First常用命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Add-Migration Name(名字可...

EF Code First 多对多关系配置

Code First配置多对多关系,常规有两种方法例如我们有一张学生表,和一张课程表,学生和课程是一个多对多的关系方法1:单纯...

EF Code First配置1对多关系,配置外键关系

方法一:通过默认名称,导航属性名称+主表主键注意这个是属性不是字段!,要加get,set可能会因为很久没有用,就忘记了,写...

EF Code First操作数据库具体步奏

创建两个类库,分别一个实体类Model,一个帮助类DAL用于操作数据库配置在实体层类添加属性和字段用于创建数据库的表,同时添加...

Code First迁移命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Update-Database 更新到数据...

EF Code First配置唯一约束

在EntityFramework 6.1后可以直接使用:[Index("TitleIndex",IsUnique=true)] publicstringTitle{get;set;}在旧...

Core EF Code First-黑色主题效果

[TOC] 创建好实体Student类: public class Student { public int ID { get; set; } public string LastName ...

.NET CORE EF数据库迁移,以及迁移命令详解。Code First。在不删除表的情况下保持同步

.NET CORE EF 数据库迁移需要的依赖Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 3.1.1 Install-Pa...

Code First 基础

第一步:创建好实体第二步:创建上下文对象第三步;实体对象与上下文进行关联第四步:配置连接字符串第五步SaveChanges写入...

Code First 创建

第一步:创建好实体 如 限制条件如果写出来没有应用可以去在该类库中添加一个ADO.NET实体数据模型 然后建立一个空模型,...

Code First添加外键约束

实体对象进行关联(给学生表定义外键)//学生表实体 publicpartialclassUserInfo { [Key] publicintSid{get;set;} [St...

Code First 配置外键 一对多 多对多

?配置外键 一:导航属性 外键字段在模型中没有,没法自己去控制联和查询只能使用导航属性 //子表 namespaceModel ...

Code First 配置多对多关系

配置多对多关系,应该有一个中间表,用于关联,关联表至少两个字段,就是两张表的id//默认导航属性 //先定义一个中间表 ...