随笔分类 - .NET Framework 3.5
.NET Framework 3.5
摘要:Ø 简介 在 C# 中与数据交互最常用的语句就是 LINQ 了,而 LINQ to SQL 是最直接与数据库打交道的语句,它可以根据 LINQ 语法生成对应的 SQL 语句,在数据库中去执行。本文主要研究什么样 LINQ 语句会生成什么样 SQL 语句,从而确保编写 LINQ 语句时,便知道该语句会执行什么样的 SQL 语句,得到什么结果,这是很有必要的。因为很多时候会考虑到 SQL 效率问题,...
阅读全文
摘要:Ø 简介 本文主要介绍 LINQ to SQL 中常见的异常,以及对应的解决办法。包括以下内容: 1. 左连接情况下,右表非空类型字段可能抛出异常 1. 左连接情况下,右表非空类型字段可能抛出异常 说明:UserInfo.CustomerId 关联 Customer.Id,为多对一的关系。但是 UserInfo.CustomerId 字段可能为 null, 所以运行以下语句将报错: ...
阅读全文
摘要:Ø 简介 在 C# 中比较常用的 ORM(Object Relational Mapping)框架就是 EF 了,EF 经常结合 LINQ to SQL 来操作数据库。本文主要讨论如何在 LINQ to SQL 语法中调用 SQL Server 的内置函数,或者系统函数。主要使用以下静态类实现: 1. DbFunctions 类 1) 位于 EntityFramework.dll(EF6...
阅读全文
摘要:Ø 前言 LINQ to SQL 中需要对两个或多个数据集进行操作,比如:合并、取交集等,主要使用下面四个方法,这四个方法都是 System.Linq.IQueryable 接口的扩展方法,并且都是延迟加载方法,下面是使用的简单示例。 Ø 示例数据,数据表:Subject(科目表)、Score(成绩表) 1. Concat() 方法 1) 方法声明 public static...
阅读全文
只有注册用户登录后才能阅读该文。
摘要:Ø 前言 本示例主要实现 LINQ 查询,先分组,再聚合,最后在排序。示例很简单,但是使用 LINQ 却生成了不同的 SQL 实现。 1) 采用手动编写 SQL 实现 SELECT ROW_NUMBER() OVER(ORDER BY T.RealTotal DESC) AS SN, * FROM ( SELECT (SELECT TradeName FROM UserIn...
阅读全文
摘要:Ø 前言 没有什么特别的,只是觉得 LINQ 的功能其实还是蛮强大的,所以简单记录下,算是工作笔记吧,有可能还能帮助到其他同学呢^_^。 Ø 下面主要使用了 C# 三元运算符实现实现 SQL 中的 CASE WHEN THEN 语句。 1) C# const string deliverDM = "派送宣传册", haveKPInfo = "获得KP信息", talkWithKP = "和...
阅读全文
摘要:Ø 前言 本来是想使用 LINQ 实现类似 SQL: ROW_NUMBER() OVER(ORDER BY …) 的功能,但是貌似 LINQ 不支持,反正没找到解决办法,无奈使用了LINQ Select() 方法实现。 1) 需求,需要实现一下 SQL: SELECT TOP 10 ROW_NUMBER() OVER(ORDER BY T.TotalMoney DESC) AS SN, ...
阅读全文