自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq To Sql學(xué)習(xí)經(jīng)驗(yàn)

開(kāi)發(fā) 后端
這里介紹Linq To Sql是Microsoft開(kāi)發(fā)的針對(duì)解決data!=object問(wèn)題的新技術(shù)。在筆者的一系列的文章中,對(duì)它已經(jīng)做了大量的介紹?,F(xiàn)在,筆者將從經(jīng)驗(yàn)的角度,談?wù)勊膬?yōu)劣。

本文向大家介紹Linq To Sql,可能好多人還不了解Linq To Sql,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

Linq To Sql是Microsoft開(kāi)發(fā)的針對(duì)解決data!=object問(wèn)題的新技術(shù)。在筆者的一系列的文章中,對(duì)它已經(jīng)做了大量的介紹?,F(xiàn)在,筆者將從經(jīng)驗(yàn)的角度,談?wù)勊膬?yōu)劣。

1、Linq To Sql的優(yōu)點(diǎn)

在Linq To Sql推出之前,我們只是把sql語(yǔ)句形成一個(gè)string,然后,通過(guò)ado.net傳給sql server,返回結(jié)果集.這里的缺陷就是,如果你sql語(yǔ)句寫的有問(wèn)題,只有到運(yùn)行時(shí)才知道.而且并不所有的人都懂?dāng)?shù)據(jù)庫(kù)的。Linq To SQl 在一切圍繞數(shù)據(jù)的項(xiàng)目?jī)?nèi)都可以使用。特別是在項(xiàng)目中缺少sql server方面的專家時(shí),Linq To SQl的強(qiáng)大的功能可以幫我們快速的完成項(xiàng)目。Linq To SQl的推出,是讓大家從煩瑣的技術(shù)細(xì)節(jié)中解脫出來(lái),更加關(guān)注項(xiàng)目的邏輯。Linq To Sql的出現(xiàn),大大降低了數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)的門楷,它實(shí)質(zhì)是事先為你構(gòu)架了數(shù)據(jù)訪問(wèn)層,勢(shì)必將加快數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)進(jìn)度。Linq To Sql解放了眾多程序員,讓他們的把更多的精力放到業(yè)務(wù)邏輯以及code上,而不是數(shù)據(jù)庫(kù)。對(duì)于初學(xué)者來(lái)講,Linq To Sql可以讓他們迅速進(jìn)入數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)領(lǐng)域,節(jié)約了培訓(xùn)成本。

Linq To SQl 的實(shí)現(xiàn),是在ado.net和c#2.0的基礎(chǔ)上的。它通過(guò)自動(dòng)翻譯sql語(yǔ)句,并把結(jié)果集創(chuàng)建成對(duì)象并返回。這里我們可以看出,發(fā)送到Sql Server端的sql語(yǔ)句是Linq To Sql自動(dòng)生成的。這對(duì)不懂sql的人來(lái)說(shuō),無(wú)疑是個(gè)福音。第二,Linq To Sql語(yǔ)句是在編譯期間就做檢查的。而不是運(yùn)行時(shí)檢查。這樣,那里出了問(wèn)題,可以及時(shí)更改,而不是到了運(yùn)行時(shí)才發(fā)現(xiàn)問(wèn)題。第三,Linq To Sql是針對(duì)對(duì)象操作的,更符合今天的oo呼聲。

在Linq To SQl 之前,在java領(lǐng)域有Hibernate,在net領(lǐng)域有NHibernate技術(shù),來(lái)實(shí)現(xiàn)object/relational 持久和查詢服務(wù)。那和NHibernate比起來(lái),它又有那些優(yōu)勢(shì)呢.第一,影射代碼自動(dòng)生成。VS2008提供了SqlMetal和OR Designer兩個(gè)工具來(lái)完成此步驟。而在NHibernate中,你不得不自己手工寫。第二,影射代碼有更多的選擇.NHibernate只能把數(shù)據(jù)庫(kù)的信息配置在一個(gè)xml中,而Linq To Sql有兩種方式,一個(gè)是放到xml中,我們稱為Externl Mapping, 再一種就是以Attribute的形式,存在于各個(gè)property中。當(dāng)然,筆者本人并沒(méi)有使用過(guò)NHibernate,只是從資料上得到這些消息,所以無(wú)法給出更多的比較。

2、Linq To Sql的缺點(diǎn)

很久前,有個(gè)網(wǎng)友問(wèn)到這么一個(gè)問(wèn)題。他在界面上有個(gè)DataView,里面綁定了一些Column,然后他勾選那一列就按某列排序。其傳回的參數(shù)是列的名字。然后問(wèn)我該怎么用Dlinq 來(lái)實(shí)現(xiàn)。

在以前拼接Sql語(yǔ)句的年代,這個(gè)很簡(jiǎn)單,一個(gè)" order by " + string,想按什么排就按什么來(lái)排。而現(xiàn)在dlinq是用是一個(gè)對(duì)象的屬性,已經(jīng)不可能拼接了。我當(dāng)時(shí)給他的答案是這樣的。

【編輯推薦】

  1. LINQ to SQL數(shù)據(jù)表介紹
  2. LINQ查詢的目的與實(shí)現(xiàn)手段
  3. LINQ from子句進(jìn)行復(fù)合查詢實(shí)現(xiàn)方法
  4. LINQ查詢表達(dá)式功能詳解
  5. LINQ基礎(chǔ)概念總結(jié)
責(zé)任編輯:佚名 來(lái)源: 新浪博客
相關(guān)推薦

2009-09-11 12:08:09

Linq to SQL

2009-09-10 17:38:04

LINQ技術(shù)

2009-09-08 15:27:08

Linq Select

2009-09-16 17:13:54

學(xué)習(xí)Linq

2009-09-16 17:44:54

LINQ to SQL

2009-09-10 13:54:27

LINQ語(yǔ)法

2009-09-17 15:51:39

Linq to sql

2009-09-17 16:20:43

Linq to sql

2009-09-08 10:57:55

LINQ查詢操作

2009-09-11 13:29:31

LINQ查詢操作

2009-09-08 16:02:47

Linq使用Group

2009-09-17 13:54:26

LINQ to XML

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-16 17:33:16

LINQ TO SQL

2009-09-08 13:16:01

Linq to SQL

2009-09-15 17:07:24

Linq To SQL

2009-09-18 14:51:19

LINQ TO SQL

2009-09-09 14:40:43

Linq to sql

2009-09-10 11:29:00

LINQ to SQL

2009-09-11 12:13:40

LINQ to SQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)