走進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離開時間在數據庫里并沒有對應的字段,因為這個是用來臨時記路用戶離開離開博客園的時間的,這樣可以用來做一些在線統計,所以無需持久化。