按我的理解,linq与sql对应,只不过,一个对应在代码里,一个对应在数据库里。之所以要使用linq,是让分工越来越精细的程序员可以基本不管数据库这一块,只须关注代码即可。

不过,linq与sql还是会有一点区别。比如这个group by。

在sql中,如果有group by,那么select的字段只能包含分组内容,或者count、sum、avg这些统计字段。

但在linq里面,是:group 你想要什么字段 by 分组字段

比如:

[csharp]  view plain copy
  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select g;

但这只是最简单的情形,玩具级别。实际应用中,多表多字段参与分组比较常见:

[csharp]  view plain copy
  1. from a in TableA
  2. join b in TableB on a.Id equals b.aId
  3. where ((b.Type == 1 || b.Type == 2 || b.Type == 5) && b.State == 1)
  4. group new { a.Id, b.Name,b,CreateDate } by new { a.Id, b.Name } into g
  5. select (new Class1 { Id = g.Key.Id, Name = g.Key.Name ?? "" });
  6. class Class1
  7. {
  8. public int Id { get; set; }
  9. publid string Name { get; set; }
  10. }

参考文章:

http://www.cnblogs.com/aspnet2008/archive/2008/12/23/1358494.html

Linq中的group by多表多字段相关推荐

  1. Linq中的group by多表多字段,Sum求和

    Linq中的group by多表多字段,Sum求和 //Line to Sql 写法var data = (from a in Itemsgroup a by new { a.GroupId, a.I ...

  2. 为什么Hive中的group by后面不能使用字段别名?

    为什么Hive中的group by后面不能使用字段别名呢?看了这篇文章你将一目了然. 文章目录 1. 案例说明 2. 分析原因 3. 解决办法 4. 执行效率 5. 总结 1. 案例说明 我们以一个例 ...

  3. oracle查询表的字段类型有哪些,oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)...

    通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助: 1.查询出所有的用户表 select ...

  4. Oracle中V$SESSION等各表的字段解释,Oracle官方解释

    https://www.cnblogs.com/grey-wolf/p/10119219.html Oracle中V$SESSION等各表的字段解释,Oracle官方解释 阅读目录 一.常用的视图 1 ...

  5. mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)

    MySQL 数据表是由行和列构成的,通常把表的"列"称为字段(Field),把表的"行"称为记录(Record).随着业务的变化,可能需要在已有的表中添加新的字 ...

  6. oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段

    -------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...

  7. linux中mysql的库、表和字段的字符集指令总结

    一.查看数据库,表,字段编码 1.查看数据库编码 (1)通过show variables查看编码,需要转换数据库,不转换看的是server字符集.字符序. mysql> use test; my ...

  8. mysql count order by_【数据库】mysql中count(), group by, order by使用方法分享

    本文主要和大家分享mysql中count(), group by, order by使用方法,mysql中order by 排序查询.asc升序.desc降序,group by 分组查询.having ...

  9. mysql更新字符串中某个字符串_mysql更新某个字符串字段的部分内容

    如果现在需要Mysql更新字段重部分数据,而不是全部数据,应该采用何种方法呢?下面介绍了两种情况下Mysql更新字段中部分数据的方法,供您参考. Mysql更新字段中部分数据第一种情况: update ...

最新文章

  1. IDEA添加maven并添加阿里镜像
  2. 如何禁止使用本地administrator进行共享连接
  3. 常见的java异常_浅谈十个常见的Java异常出现原因
  4. 无人驾驶方面牛人和实验室
  5. 如何用cocoapods 来管理项目中的第三方框架?
  6. 8.8-8.10 usaco
  7. python discover()没有加载测试用例_对python_discover方法遍历所有执行的用例详解
  8. EntityFramework Core 3.x初级篇发布
  9. python基础编程语法-编程入门02:Python基础语法
  10. redis插槽(slot)分配详解(集群动态新增或删除结点)
  11. can not find Artifact XXX 的原因
  12. 微信公众号网页授权代码优化过程(三)
  13. vscode运行c语言
  14. 使用BigDecimal解决double精度的问题
  15. 计算机正态分布随机数范围,正态分布随机数
  16. 6,美国2012年总统候选人政治献金数据分析
  17. raspberryPi_继电器模块(relay)+风扇模块(fan)连接原理图/硬件调试
  18. LoadRunner测试结果分析重要环节:合并图
  19. 易语言的按钮事件(破解小技巧)
  20. 微生物组学与植物病害微生物防治

热门文章

  1. 保底掉落装备matlab,DNF团本减负计划 保底深渊票史诗装备删除
  2. RNN经典案例(人名分类器)
  3. 人品比能力更重要---个人收藏
  4. 机械键盘Windows键失灵,解决办法
  5. 究极花里胡哨的渐变是什么样子的?
  6. MFC基于单文档实现绘图功能(线段,矩形,椭圆,圆,铅笔,橡皮),保姆式教程
  7. 研究分析QQ木马的原理
  8. 数字化招聘:猎聘、快手同行不同路
  9. 快手切入蓝领招聘,58同城准备好了吗?
  10. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转...