日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
LinQtoSQL四大護(hù)法剖析

在向大家詳細(xì)介紹LinQ to SQL之前,首先讓大家了解下LinQ to SQL四大護(hù)法,以后全面介紹LinQ to SQL。

成都創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的東海網(wǎng)站建設(shè)公司,東海接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行東海網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

我們來(lái)看看LinQ to SQL,就是對(duì)數(shù)據(jù)庫(kù)的查詢,以前叫做DLinQ。經(jīng)??吹絃inQ那到底是什么呢?他是Language Integrated Query的縮寫(xiě),以一種類(lèi)似SQL語(yǔ)句的形式來(lái)對(duì)對(duì)象進(jìn)行操作的編程方法。

在使用到LinQ時(shí)也會(huì)用到以前提到過(guò)的一些特性,如:匿名類(lèi)型,自動(dòng)化屬性等等。

LinQ to SQL是一種ORM,它允許你通過(guò)編寫(xiě).NET程序來(lái)控制或操作關(guān)系型數(shù)據(jù)庫(kù)以達(dá)到查詢的效果。你可以使用LinQ來(lái)檢索數(shù)據(jù)庫(kù)中的數(shù)據(jù),也可以通過(guò)其進(jìn)行數(shù)據(jù)的更新和添加。同時(shí)LinQ to SQL也支持事務(wù),試圖以及存儲(chǔ)過(guò)程等等,通過(guò)VS2008(現(xiàn)在使用的是beta版本,下同)的LinQ to SQL設(shè)計(jì)器我們可以很容易定義一些實(shí)體類(lèi),我們可以通過(guò)添加一個(gè)新項(xiàng)來(lái)加入.dbml文件,并從數(shù)據(jù)庫(kù)服務(wù)器窗口拖出數(shù)據(jù)表。

我們定義兩個(gè)實(shí)體類(lèi),Artile和Category,我們也可以把存儲(chǔ)過(guò)程拖到方法的窗口中,由于我們的存儲(chǔ)過(guò)程和數(shù)據(jù)表的命名可能帶有前綴或其他標(biāo)識(shí),我們可以查看屬性窗口將他們的name屬性改掉我們?nèi)菀鬃R(shí)別的名稱(chēng)。我們打開(kāi)Designer.cs那個(gè)文件看一下,是不是生成了幾個(gè)類(lèi),其中一個(gè)最重要的是以DataContext為后綴那個(gè)類(lèi)(他以當(dāng)前dbml文件名加DataContext為名稱(chēng)的類(lèi)),他是這個(gè)LinQ的上下文,我們可以通過(guò)他來(lái)執(zhí)行我們的操作。而上面兩個(gè)是外鍵關(guān)系,他還生成了一個(gè)關(guān)系類(lèi),而且在Category類(lèi)中好有一個(gè)Article的集合,在Article中也有一個(gè)關(guān)聯(lián)屬性,在賦值時(shí)還會(huì)對(duì)鍵值類(lèi)型進(jìn)行判斷。

下面我們來(lái)看看實(shí)際應(yīng)用的一些例子(LinQ to SQL四大護(hù)法<SELECT/INSERT/UPDATE/DELETE>):

1.從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)<SELECT>

 
 
 
  1. //三個(gè)重載(),(string connectionString),(IDbConnection connection)  
  2. ItLivesNetDataContext cntx = new ItLivesNetDataContext();  
  3. //這個(gè)也可以在初始化ItLivesNetDataContext實(shí)例時(shí)直接進(jìn)行初始化。  
  4. cntx.Connection = new SqlConnection
    (ConfigurationManager.ConnectionStrings[0].ConnectionString);  
  5. var articles = from a in cntx.Articles  
  6. where a.CategoryID == 1  
  7. orderby a.PostDate descending  
  8. select a;  

上面的代碼將返回?cái)?shù)據(jù)庫(kù)Articles表中類(lèi)型ID為1的所有數(shù)據(jù),并將其按發(fā)布時(shí)間進(jìn)行降序排列。其中articles其實(shí)是IEnumerable<T>的實(shí)例,這個(gè)例子的T就是Article實(shí)體類(lèi)。

2.將新數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中<INSERT>

 
 
 
  1. //插入新類(lèi)型C++  
  2. Category category = new Category   
  3. { CategoryName="CPLUSPLUS",IsActived=true, ParentID = 1 };  
  4. //插入新文章,類(lèi)型為C++  
  5. var article = new Article { Subject = "C++入門(mén)", Author="網(wǎng)魂小兵" };   
  6. category.Articles.Add(article);  
  7. cntx.Categories.Add(category);  
  8. cntx.SubmitChanges();  

3.更新新數(shù)據(jù)<UPDATE>

 
 
 
  1. Category category = cntx.Categories.Single(p =>
    p.CategoryName.ToUpper() == "CSHARP");  
  2. category.IsActived = true;  
  3. category.Description = "UPDATE CSHARP!";  
  4. cntx.SubmitChanges();  

4.刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù)<DELETE>

 
 
 
  1. var delArtiles = from s in cntx.Articles  
  2. where s.CategoryName == "CPLUSPLUS"  
  3. select s;  
  4. cntx.Articles.RemoveAll(delArtiles);  
  5. cntx.SubmitChanges();  

以上是LinQ to SQL四大護(hù)法的例子,例子很簡(jiǎn)單一看就能夠懂就不多解釋了。在數(shù)據(jù)庫(kù)中我們還經(jīng)常要用到檢索數(shù)據(jù)庫(kù)的方法那就是分頁(yè)檢索數(shù)據(jù)庫(kù),然而在比較大的數(shù)據(jù)時(shí)我們往往會(huì)用到存儲(chǔ)過(guò)程來(lái)完成這一職業(yè)。


網(wǎng)站名稱(chēng):LinQtoSQL四大護(hù)法剖析
文章網(wǎng)址:http://m.5511xx.com/article/dhhcgcg.html