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

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

系列文章導(dǎo)航:

走進(jìn)Linq--Linq橫空出世篇

走進(jìn)Linq-輝煌的背后

走進(jìn)Linq-Linq大觀園

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

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

不能不說的C#特性-擴(kuò)展方法

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

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

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

走進(jìn)Linq-Linq to Objects(上)基礎(chǔ)篇

走進(jìn)Linq-Linq to Objects(下)實(shí)例篇

走進(jìn)Linq-Linq to SQL感性認(rèn)識(shí)篇

走進(jìn)Linq-Linq to SQL How do I(1)

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

走進(jìn)Linq-Linq to SQL How do I(3)

走進(jìn)Linq-How do I(4)拾遺補(bǔ)零篇第一節(jié)

走進(jìn)Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進(jìn)Linq-Linq to SQL源代碼賞析之Provider的初始化

走進(jìn)Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


本篇是Linq to SQL How do I的第二篇,難度系數(shù)100,定位為進(jìn)階級(jí)。

內(nèi)容

對(duì)象之間的關(guān)系

 

對(duì)象之間的關(guān)系

既然是對(duì)象-關(guān)系映射,各個(gè)表之間肯定不是獨(dú)立存在的(如果都是獨(dú)立存在的,也沒有必要用關(guān)系數(shù)據(jù)庫了),那么就必然涉及到幾個(gè)表之間的聯(lián)合了。

Linq to SQLSQL語句一樣,支持兩種方式的聯(lián)合:

1.       利用where子句,對(duì)兩個(gè)表進(jìn)行查找

2.       使用join子句

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

博客類映射(Blog)

系列文章導(dǎo)航:

走進(jìn)Linq--Linq橫空出世篇

走進(jìn)Linq-輝煌的背后

走進(jìn)Linq-Linq大觀園

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

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

不能不說的C#特性-擴(kuò)展方法

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

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

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

走進(jìn)Linq-Linq to Objects(上)基礎(chǔ)篇

走進(jìn)Linq-Linq to Objects(下)實(shí)例篇

走進(jìn)Linq-Linq to SQL感性認(rèn)識(shí)篇

走進(jìn)Linq-Linq to SQL How do I(1)

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

走進(jìn)Linq-Linq to SQL How do I(3)

走進(jìn)Linq-How do I(4)拾遺補(bǔ)零篇第一節(jié)

走進(jìn)Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進(jìn)Linq-Linq to SQL源代碼賞析之Provider的初始化

走進(jìn)Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


生成的SQL語句是:

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

但是Linq to SQL在使用join的時(shí)候并不是像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

系列文章導(dǎo)航:

走進(jìn)Linq--Linq橫空出世篇

走進(jìn)Linq-輝煌的背后

走進(jìn)Linq-Linq大觀園

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

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

不能不說的C#特性-擴(kuò)展方法

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

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

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

走進(jìn)Linq-Linq to Objects(上)基礎(chǔ)篇

走進(jìn)Linq-Linq to Objects(下)實(shí)例篇

走進(jìn)Linq-Linq to SQL感性認(rèn)識(shí)篇

走進(jìn)Linq-Linq to SQL How do I(1)

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

走進(jìn)Linq-Linq to SQL How do I(3)

走進(jìn)Linq-How do I(4)拾遺補(bǔ)零篇第一節(jié)

走進(jìn)Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進(jìn)Linq-Linq to SQL源代碼賞析之Provider的初始化

走進(jìn)Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


一對(duì)多關(guān)系

在上面的映射中,Blog還有一個(gè)屬性:Posts,我們并沒有做什么處理,實(shí)際上這個(gè)應(yīng)該是根據(jù)BlogId屬性關(guān)聯(lián)到PostBlogId屬性,進(jìn)行關(guān)聯(lián)的。

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

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

系列文章導(dǎo)航:

走進(jìn)Linq--Linq橫空出世篇

走進(jìn)Linq-輝煌的背后

走進(jìn)Linq-Linq大觀園

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

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

不能不說的C#特性-擴(kuò)展方法

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

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

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

走進(jìn)Linq-Linq to Objects(上)基礎(chǔ)篇

走進(jìn)Linq-Linq to Objects(下)實(shí)例篇

走進(jìn)Linq-Linq to SQL感性認(rèn)識(shí)篇

走進(jìn)Linq-Linq to SQL How do I(1)

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

走進(jìn)Linq-Linq to SQL How do I(3)

走進(jìn)Linq-How do I(4)拾遺補(bǔ)零篇第一節(jié)

走進(jìn)Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進(jìn)Linq-Linq to SQL源代碼賞析之Provider的初始化

走進(jìn)Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


多對(duì)多的關(guān)系

Linq to SQL默認(rèn)是不支持多對(duì)多的關(guān)系的,所以也沒有針對(duì)多對(duì)多關(guān)系的AttributeQuery,不過網(wǎng)上有很多多對(duì)多關(guān)系的解決方案,在這里我就不做介紹了,我給個(gè)連接:

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

這位大哥的方案是一個(gè)通用的,你可以下載他的代碼應(yīng)用到你的項(xiàng)目當(dāng)中,有時(shí)間我會(huì)把這個(gè)翻譯一下。

一對(duì)一的關(guān)系(one-to-one)

一對(duì)一的關(guān)系Linq to SQL是支持的,你只要給關(guān)系的兩邊都加上EntitySet屬性就可以了,下面用實(shí)例做個(gè)演示:

在我們的實(shí)例中,每個(gè)用戶對(duì)應(yīng)著一個(gè)博客,每個(gè)博客也只對(duì)應(yīng)著一個(gè)用戶,這是個(gè)一對(duì)一的關(guān)系:

用戶類映射(User)

it知識(shí)庫走進(jìn)Linq-Linq to SQL How do I(2),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女很黄很黄免费的 | 激情五月视频 | 怡红院视频在线观看最新 | 日本一本色道 | 久久久久亚洲香蕉网 | 青青草99久久精品国产综合 | 一区二区三区网站 | 欧美激情小视频 | 国产婷婷一区二区三区 | 天天干天天弄 | 色综合天天综合给合国产 | 亚洲天砖砖区免费 | 亚洲一区二区在线免费观看 | 国产精品久久久久网站 | 日韩欧美激情视频 | 日韩精品网址 | 国产精彩对白综合视频 | 91区国产福利在线观看午夜 | 曰曰啪天天拍视频在线 | 麻豆视频91 | 国产精品香蕉成人网在线观看 | 欧美日韩一二三区 | 成人网欧美亚洲影视图片 | 国产成人毛片视频不卡在线 | 国模大胆一区二区三区 | 久久综合久综合久久鬼色 | 理论片中文字幕在线观看 | 日本三级成人中文字幕乱码 | 91资源在线播放 | 国产美女白丝袜精品_a不卡 | 国产精品视频一区二区噜噜 | 国产一区二区精品久久 | 青草五月天| 国产精品资源网站在线观看 | 91白丝制服被啪到喷水在线 | 韩国女主播一区二区视频 | 国产自产精品 | 在线xxxx | 国产大片好看免费播放 | 男人进去女人爽免费视频国产 | 一级毛毛片毛片毛片毛片在线看 |