training ii:linq2sql
TRANSCRIPT
![Page 1: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/1.jpg)
——LINQ 2 SQL
朱晔
2010年10月
.NET 3.5系列培训(二)
![Page 2: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/2.jpg)
内容概要
LINQ 2 SQL概览
LINQ 2 SQL使用 各种查询方法 支持的翻译 数据修改和存储过程 结合传统方式的使用
LINQ 2 SQL特性 延迟 并发 事务 继承 关系
LINQ 2 SQL其它Tip
此次课程的例子包含100个左右的例子,覆盖了LINQ2SQL方方面面
![Page 3: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/3.jpg)
LINQ 2 SQL概览
ORM 定义:是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
常见框架:Subsonic,Nhibernate,Entity Framework,LINQ2SQL
LINQ 2 SQL概览 基本使用过程 日志功能 分部方法 元数据 创建数据库 简单的增删改
![Page 4: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/4.jpg)
LINQ 2 SQL使用
查询方法 Usage
限制: Where (in, or ,and)
投影: Select (CASE), SelectMany
排序: OrderBy, ThenBy, OrderByDescending, ThenByDescending,
Reverse
连接: Join, GroupJoin
分组: GroupBy (看似groupby的例子)
组: Zip, Distinct, Union, Intersect, Except, Concat
聚合: Aggregate, Count, LongCount, Sum, Min, Max, Average
分区: Take, Skip, TakeWhile, SkipWhile
转换: Cast
相等: SequenceEqual
元素: First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault,
ElementAt, ElementAtOrDefault, DefaultIfEmpty
限定: Any, All, Contains
SqlMethods:Like, DateDiffxxx
![Page 5: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/5.jpg)
LINQ 2 SQL使用
支持的翻译
一些基本的比较运算
部分.NET字符串方法
CompareTo() Concat() Contains() EndsWith() Equals() IndexOf()
Insert() LastIndexOf() Length PadLeft() PadRight() Remove()
Replace() StartsWith() String() constructor Substring()
ToLower() ToUpper() Trim()
大多数Math类的方法
大多数转换方法:
bool byte short int long float double decimal char string DateTime
DateTime 的一部分方法
TimeSpan 的一部分方法
SqlMethods的所有方法
一部分IEnumerable<T>中的方法,比如Contians()
查询方法
![Page 6: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/6.jpg)
LINQ 2 SQL使用
数据修改 Usage2 对象标识 改动跟踪 改动提交
结合传统方式的使用 Usage2
存储过程 Usage3 标量/单结果集/多结果集 增删改使用存储过程
自定义函数 Usage3
2/8原则
![Page 7: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/7.jpg)
LINQ 2 SQL特性 延迟 Features
演示延迟执行 演示级联延迟加载 演示字段延迟加载 通过LoadWith来强制加载级联对象 通过AssociateWith来限制级联加载的对象 演示关闭延迟加载
并发 Features2 演示并发 通过UpdateCheck进行列乐观并发控制 处理并发(三层粒度) 时间戳列
事务(DataContext自动实现事务) Features2
继承 Features3
关系 Features3
![Page 8: Training ii:linq2sql](https://reader031.vdocuments.pub/reader031/viewer/2022020218/55a8ec931a28abce2b8b46b8/html5/thumbnails/8.jpg)
LINQ 2 SQL其它Tip
已编译查询
外部映射文件 SqlMetal.exe
探究查询
显式打开连接