Linq To SQL 的问题点滴

String 类型的字段问题

String类型的字段生成的SQL 没有判断为空的情况时

生成的SQL:

这里判断为空的逻辑很明显不是本来的意思。

 

左关联

SQL关联中经常会用到左关联,那么Linq中如何做?

那就需要 into 和 .DefaultIfEmpty() 大显身手。

 

SQL优化准则依然适用

很多人觉得Linq To SQL不用直接写SQL就可以随心所欲,为所欲为,其实这是个相当大的错误。你的Linq To SQL 最终都会生成SQL语句,所以在写Linq 时还是应该清醒的认识到这一点。避免不加过滤条件就先进行大表(数据量大)的关联,索引字段在过滤条件中应该写到条件的最前面。

时间: 2024-12-05 13:27:25

Linq To SQL 的问题点滴的相关文章

linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符) (转帖)

http://wenku.baidu.com/link?url=2RsCun4Mum1SLbh-LHYZpTmGFMiEukrWAoJGKGpkiHKHeafJcx2y-HVttNMb1BqJpNdwaOpCflaajFY6k36IoCH_D82bk2ccu468uzDRXvG 基于LINQ+to+Entity数据访问技术的应用研究 Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式:

LinQ to Sql

在java平台上,ORM这一块Hiberante是相当的.但是在谈到.NET平台.ORM框架就有些不一样了.Nhibernate,Nbeat和Castel,以及我要说的linQ to Sql. Tosql是微软自己的产品.现在用的或许很少了,但是如果做一个中小型的项目,开发和部署还是很好的,不必考虑第 三方库.但是Tosql毕竟是直接面对数据库的.这个操作我有些用不惯,这里就简单介绍了. 要想使用Linq to Sql,实现需要建立好数据库. Step1 建立LINQ to SQL Classe

LINQ To SQL 语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select c

LINQ to SQL 中 Concat、Union、Intersect、Except 方法的使用

?  前言 LINQ to SQL 中需要对两个或多个数据集进行操作,比如:合并.取交集等,主要使用下面四个方法,这四个方法都是 System.Linq.IQueryable<out T> 接口的扩展方法,并且都是延迟加载方法,下面是使用的简单示例. ?  示例数据,数据表:Subject(科目表).Score(成绩表) 1.   Concat() 方法 1)   方法声明 public static IQueryable<TSource> Concat<TSource>

学习Linq To Sql

Linq To Sql 是一个非常神奇的东西 他可以让你把精力都放在业务逻辑上面,而用同一个语句操作多种关系型数据库 下面就让我们来看看他的用法.......... 数据库字段 use master go create database Learn_Linq_to_Sql go use Learn_Linq_to_Sql go create table Class ( CId int primary key identity(1,1), CName nvarchar(20) not null )

LINQ to SQL语句Concat/Union/Intersect/Except--2017年2月22日

Concat/Union/Intersect/Except操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1.简单形式: var q = ( from c in db.Customers select c.Phone ).Concat( from c in db.Customers select c.Fax ).Concat( from e in db.Employees select e.Home

LINQ to SQL 增,删,改

添加 LINQ to SQL 向数据库中插入数据的功能由Table<T>类的InsertAllOnSubmit<TSubEntity>() 和InsertOnSubmit() 方法实现.其中,InsertOnSubmit()方法将单个实体添加,InsertAllOnSubmit<TSubEntity>()将实体的集合添加. //创建LINQDB数据库上下文的实例 LinqDBDataContext db = new LinqDBDataContext(LinqSyste

LinQ to SQL 查询

LINQ to SQL 是将对象关系映射到.NET框架中的一种实现.它可以将关系数据库映射为.NET Framework中的一些类. 然后,开发人员就可以通过使用 LINQ to SQL对数据库中的数据进行查询.修改.插入.删除等操作. LINQ to SQL类映射到SQL Server数据库中的表,这些类被称做“实体类”,实体类中的属性或字段映射到SQL server 数据库中表的列,实体类之间的关联映射到 SQL Server数据库中的外键关系,LINQ to SQL类中的方法映射为SQL

Linq to Sql语法及实例大全

LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下 面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select