走进Linq-Linq to SQL How do I(1)
[2] 走进Linq-Linq to SQL How do I(1)
[3] 走进Linq-Linq to SQL How do I(1)
[4] 走进Linq-Linq to SQL How do I(1)
[5] 走进Linq-Linq to SQL How do I(1)
系列文章导航:
不能不说的C#特性-迭代器(下),yield以及流的延迟计算
走进Linq-Linq to SQL How do I(1)
走进Linq-Linq to SQL How do I(2)
走进Linq-Linq to SQL How do I(3)
走进Linq-Linq to SQL源代码赏析 Table
走进Linq-Linq to SQL源代码赏析之Provider的初始化
走进Linq-Linq to SQL源代码赏析,通过Linq to SQL看Linq
How Do I第一篇,难度系数50,定位为入门级。
上一篇对Linq to SQL做了一个大致的介绍,从这一篇起,将对要完成一项Linq to SQL的Case要做的一些事情,主要从细节上做一些讲解。不会很深入,但是却又是必须的。为了使讲解不落于泛泛而谈,我们首先来构建实例:
还是以博客园的系统为例子,既然称Linq to SQL为一个ORM框架,ORM,对象-关系 映射,既然O在前关系在后,说明O为重,关系是根据O得来的,那么我们就先新建一些Entity Object吧。在一个博客系统里最常见的就是User,Blog,Post。
一个用户有且仅有一个博客,而一个博客可以有零篇或者多篇博客文章。根据这个描述我们来建立Entity:
Step 1 建立实体对象
我们先不要谈论这个设计是否合理,也不要谈论这三个实体是贫血模型还是充血模型。
对象建立好了,我们来建设数据库表吧:users表,blogs表,posts表(为什么表都用复数?从Rails里学过来的,ActiveRecord模式里,表里每条记录都对应着一个对象,所以表用复数表示,这是一种约定)
Step 2:创建数据库表
Users表:
Blogs表:
Posts表:
我们注意到,用户类里的LeaveTime离开时间在数据库里并没有对应的字段,因为这个是用来临时记路用户离开离开博客园的时间的,这样可以用来做一些在线统计,所以无需持久化。