成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

linq和sql的區(qū)別 Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?

Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?Linq是微軟在.net3.0推出的一種新的數(shù)據(jù)訪問和處理的方式,來解決過去處理集合對象數(shù)據(jù)所遇到的種種困難。其中在C#3.0和VB9中分別引

Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?

Linq是微軟在.net3.0推出的一種新的數(shù)據(jù)訪問和處理的方式,來解決過去處理集合對象數(shù)據(jù)所遇到的種種困難。其中在C#3.0和VB9中分別引入了和SQL相似的Linq語法,使得現(xiàn)在操作各種數(shù)據(jù)對象變得非常容易而且可讀性更好。

Linq To Sql是微軟默認(rèn)提供的LinqProvider的一種,其他的還有LinqToDataSet LinqToXml LinqToEntity等。

平時開發(fā)項目可以大量的使用linq,他會讓你在處理大量集合數(shù)據(jù)的時候提高效率。而Linq2Sql算是一個ORM框架,可以用來減輕數(shù)據(jù)訪問的負擔(dān),如果你知道Hibernate之類的ORM框架的話,就很容易理解他了

LinqToSql在實際開發(fā)中怎么使用?

linqtosql和ef語法基本一樣,最大的坑也就是ef必須在linq語句之外定義好參數(shù),而linq2sql可以直接寫在語句里(例如DateTime.Now.Date甚至Convert.ToXX)。

但如果是開發(fā)正式項目,強烈不建議用linq2sql,因為1 of X update fail這個bug我到現(xiàn)在都找不到解決方法。而且即便沒有使用非mssql的需求,ef也比linq2sql的自定義性更強。

請問什么叫ORM映射???

O 代表Object 即對象

R 代表Relation 即關(guān)系

M 代表Mapping 即映射

ORM即 對象關(guān)系映射

通過ORM工具,將對象與關(guān)系數(shù)據(jù)庫 聯(lián)系起來

orm工具 會動態(tài)生成sql語句,使你用面向?qū)ο蟮恼Z法即可完成對數(shù)據(jù)庫的操作

.net中名氣比較大的orm工具有

NHibernate,Linq2Sql,EntityFrameWork等等

希望能夠?qū)δ阌袔椭?

比如 我們要從數(shù)據(jù)庫中 選取一條用戶信息

sql中 我們這樣寫 select * form user where userId= 1

而在NHibernate中 用hbl可以寫為

from User u where u.UserId=1

即可獲得一個User對象 “注意是User對象”

雖然hbl的語法還不能說很面向?qū)ο?但是已經(jīng)比sql進步了 再來看看用linq的語法

from u in User where u.UserId = 1 select u

也可以返回一個User對象 但是語法上要比hbl更面向?qū)ο蟆?