一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

走進Linq-Linq to SQL How do I(2)

系列文章導航:

走進Linq--Linq橫空出世篇

走進Linq-輝煌的背后

走進Linq-Linq大觀園

不能不說的C#特性-對象集合初始化器

不能不說的C#特性-匿名類型與隱式類型局部變量

不能不說的C#特性-擴展方法

不能不說的C#特性-匿名方法和Lambda表達式

不能不說的C#特性-迭代器(上)及一些研究過程中的副產品

不能不說的C#特性-迭代器(下),yield以及流的延遲計算

走進Linq-Linq to Objects(上)基礎篇

走進Linq-Linq to Objects(下)實例篇

走進Linq-Linq to SQL感性認識篇

走進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-How do I(4)拾遺補零篇第一節

走進Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進Linq-Linq to SQL源代碼賞析之Provider的初始化

走進Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


本篇是Linq to SQL How do I的第二篇,難度系數100,定位為進階級。

內容

對象之間的關系

 

對象之間的關系

既然是對象-關系映射,各個表之間肯定不是獨立存在的(如果都是獨立存在的,也沒有必要用關系數據庫了),那么就必然涉及到幾個表之間的聯合了。

Linq to SQLSQL語句一樣,支持兩種方式的聯合:

1.       利用where子句,對兩個表進行查找

2.       使用join子句

我們還是用例子來說明吧,現在要對blogsposts進行查詢,傳入一篇文章的id的時候,找出這篇文章相關信息的同時還要找出這篇文章屬于哪個博客,接著上篇的例子,我們首先得給Blog類加上映射:

博客類映射(Blog)

系列文章導航:

走進Linq--Linq橫空出世篇

走進Linq-輝煌的背后

走進Linq-Linq大觀園

不能不說的C#特性-對象集合初始化器

不能不說的C#特性-匿名類型與隱式類型局部變量

不能不說的C#特性-擴展方法

不能不說的C#特性-匿名方法和Lambda表達式

不能不說的C#特性-迭代器(上)及一些研究過程中的副產品

不能不說的C#特性-迭代器(下),yield以及流的延遲計算

走進Linq-Linq to Objects(上)基礎篇

走進Linq-Linq to Objects(下)實例篇

走進Linq-Linq to SQL感性認識篇

走進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-How do I(4)拾遺補零篇第一節

走進Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進Linq-Linq to SQL源代碼賞析之Provider的初始化

走進Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


生成的SQL語句是:

大家看到,Linq to SQL使用inner join子句。

但是Linq to SQL在使用join的時候并不是像SQL那樣寬松,把上面的SQL語句貼下來:

SELECT [t0].[blogname] AS [BlogName],[t1].[Title] AS [PostTitle],[t1].[Body] AS [PostBody] FROM [blogs] AS [t0] INNER JOIN [posts] AS [t1] ON [t0].[blogid] = [t1].[BlogId] WHERE [t1].[postid] = @p0

系列文章導航:

走進Linq--Linq橫空出世篇

走進Linq-輝煌的背后

走進Linq-Linq大觀園

不能不說的C#特性-對象集合初始化器

不能不說的C#特性-匿名類型與隱式類型局部變量

不能不說的C#特性-擴展方法

不能不說的C#特性-匿名方法和Lambda表達式

不能不說的C#特性-迭代器(上)及一些研究過程中的副產品

不能不說的C#特性-迭代器(下),yield以及流的延遲計算

走進Linq-Linq to Objects(上)基礎篇

走進Linq-Linq to Objects(下)實例篇

走進Linq-Linq to SQL感性認識篇

走進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-How do I(4)拾遺補零篇第一節

走進Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進Linq-Linq to SQL源代碼賞析之Provider的初始化

走進Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


一對多關系

在上面的映射中,Blog還有一個屬性:Posts,我們并沒有做什么處理,實際上這個應該是根據BlogId屬性關聯到PostBlogId屬性,進行關聯的。

為此我們要修改一下這個Blog的映射:

/// 
/// 一個博客有零篇或多篇文章,
/// 
[Association(OtherKey = "BlogId")]
public EntitySet<Post> Posts { getset; }

系列文章導航:

走進Linq--Linq橫空出世篇

走進Linq-輝煌的背后

走進Linq-Linq大觀園

不能不說的C#特性-對象集合初始化器

不能不說的C#特性-匿名類型與隱式類型局部變量

不能不說的C#特性-擴展方法

不能不說的C#特性-匿名方法和Lambda表達式

不能不說的C#特性-迭代器(上)及一些研究過程中的副產品

不能不說的C#特性-迭代器(下),yield以及流的延遲計算

走進Linq-Linq to Objects(上)基礎篇

走進Linq-Linq to Objects(下)實例篇

走進Linq-Linq to SQL感性認識篇

走進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-How do I(4)拾遺補零篇第一節

走進Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進Linq-Linq to SQL源代碼賞析之Provider的初始化

走進Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


多對多的關系

Linq to SQL默認是不支持多對多的關系的,所以也沒有針對多對多關系的AttributeQuery,不過網上有很多多對多關系的解決方案,在這里我就不做介紹了,我給個連接:

http://blogs.msdn.com/mitsu/archive/2007/06/21/how-to-implement-a-many-to-many-relationship-using-linq-to-sql.ASPx

這位大哥的方案是一個通用的,你可以下載他的代碼應用到你的項目當中,有時間我會把這個翻譯一下。

一對一的關系(one-to-one)

一對一的關系Linq to SQL是支持的,你只要給關系的兩邊都加上EntitySet屬性就可以了,下面用實例做個演示:

在我們的實例中,每個用戶對應著一個博客,每個博客也只對應著一個用戶,這是個一對一的關系:

用戶類映射(User)

it知識庫走進Linq-Linq to SQL How do I(2),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 岛国毛片 | 蜜臀91精品国产免费观看 | 婷婷伊人久久 | 中文字幕一区二区三区精品 | 五月天婷婷激情视频 | 黄色在线网站 | 2021国产精品成人免费视频 | 激情6月丁香婷婷色综合 | 天天干精品 | 国产一区中文字幕 | 婷婷四房综合激情五月在线 | 国产香蕉一区二区精品视频 | 国产视频第一页 | 成人精品一区二区www | 国产 欧美 日产久久 | 国产视频二区在线观看 | 国产波波社区精品视频 | 婷婷四房| 九九久久精品国产 | 国产成人鲁鲁免费视频a | 在线观看中文字幕一区 | 伊人久久精品 | 91.久久 | 在线五月婷婷 | 精品伊人久久大线蕉色首页 | 久久中文字幕2021精品 | 国产小视频免费观看 | 在线视频一区二区三区 | 免费91麻豆精品国产自产在线观看 | 美女性色 | 色哟哟精品视频在线观看 | 91精品视频在线观看免费 | 道区二区三区四区 | 国产桃色在线成免费视频 | 加勒比综合网 | 亚洲视频网站在线观看 | 婷婷六月丁香午夜爱爱 | 精品视频一区二区三区在线观看 | 综合网激情| 美女又胸大又黄的网站 | 久久精品乱子伦免费 |