linq和sql的區(qū)別 Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?
Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?Linq是微軟在.net3.0推出的一種新的數據訪問和處理的方式,來解決過去處理集合對象數據所遇到的種種困難。其中在C#3.0和VB9中分別引
Linq和LinqtoSql有什么區(qū)別?一般做項目用哪種?
Linq是微軟在.net3.0推出的一種新的數據訪問和處理的方式,來解決過去處理集合對象數據所遇到的種種困難。其中在C#3.0和VB9中分別引入了和SQL相似的Linq語法,使得現在操作各種數據對象變得非常容易而且可讀性更好。
Linq To Sql是微軟默認提供的LinqProvider的一種,其他的還有LinqToDataSet LinqToXml LinqToEntity等。
平時開發(fā)項目可以大量的使用linq,他會讓你在處理大量集合數據的時候提高效率。而Linq2Sql算是一個ORM框架,可以用來減輕數據訪問的負擔,如果你知道Hibernate之類的ORM框架的話,就很容易理解他了
LinqToSql在實際開發(fā)中怎么使用?
linqtosql和ef語法基本一樣,最大的坑也就是ef必須在linq語句之外定義好參數,而linq2sql可以直接寫在語句里(例如DateTime.Now.Date甚至Convert.ToXX)。
但如果是開發(fā)正式項目,強烈不建議用linq2sql,因為1 of X update fail這個bug我到現在都找不到解決方法。而且即便沒有使用非mssql的需求,ef也比linq2sql的自定義性更強。請問什么叫ORM映射?。?/h2>
O 代表Object 即對象
R 代表Relation 即關系
M 代表Mapping 即映射
ORM即 對象關系映射
通過ORM工具,將對象與關系數據庫 聯系起來
orm工具 會動態(tài)生成sql語句,使你用面向對象的語法即可完成對數據庫的操作
.net中名氣比較大的orm工具有
NHibernate,Linq2Sql,EntityFrameWork等等
希望能夠對你有幫助
比如 我們要從數據庫中 選取一條用戶信息
sql中 我們這樣寫 select * form user where userId= 1
而在NHibernate中 用hbl可以寫為
from User u where u.UserId=1
即可獲得一個User對象 “注意是User對象”
雖然hbl的語法還不能說很面向對象 但是已經比sql進步了 再來看看用linq的語法
from u in User where u.UserId = 1 select u
也可以返回一個User對象 但是語法上要比hbl更面向對象。