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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LinqtoSQL簡單分析

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

創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務,以網(wǎng)站建設(shè)、網(wǎng)站制作、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)營銷推廣服務為核心業(yè)務。十余年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標準網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

本系列的文章到現(xiàn)在為止都是在介紹查詢,難道Linq to SQL只能做查詢么?不能向數(shù)據(jù)庫添加數(shù)據(jù)?,肯定不是的:

 
 
 
  1. Table posts = dbContext.GetTable();  
  2. //先實例化一個新的要插入的對象  
  3. Post post = new Post();  
  4. post.BlogId = 2;  
  5. post.Title = "test";  
  6. post.Body = "test,test,test,test";  
  7. post.CreateDate = DateTime.Now;  
  8. //調(diào)用Table的InsertOnSubmit方法  
  9. posts.InsertOnSubmit(post);  
  10. //把改變提交到數(shù)據(jù)庫,這個時候才真正執(zhí)行了  
  11. dbContext.SubmitChanges();  
  12. //提交修改后,你就可以查詢新插入的post的Id了  
  13. Console.WriteLine(post.Id); 

一個簡單的不能再簡單的insert into語句,加上一條返回新插入記錄的標識值的語句。

如果你按照本文所說的一步步往下來,在執(zhí)行上面的插入的時候肯定會碰到異常,這是因為,Id對應的數(shù)據(jù)表字段postid是該表的主鍵,你不應該在插入的時候賦值,有人說我實例化對象的時候確實沒有給post的Id屬性賦值啊,但是.net會在后臺為我們將Id賦值為0,所以你要對映射對象做一下修改:

 
 
 
  1. [Column(Name="postid",IsPrimaryKey=true,IsDbGenerated=true)]  
  2. public int Id { get; set; } 

不僅僅數(shù)據(jù)表的主鍵要加這個屬性,如果對于那些在數(shù)據(jù)庫里設(shè)置了默認值的,你并不像用程序插入的時候,你也得使用,比如這里的CreateDate。

可以插入肯定就可以更新了,下面就來看看如何更新呢:

做更新的時候,你首先得從數(shù)據(jù)庫查詢出該對象,然后對該對象的屬性進行修改,最后更新到數(shù)據(jù)庫:

 
 
 
  1. var posts = from post in dbContext.GetTable()  
  2. where post.BlogId == 2  
  3. select post;  
  4. foreach (var post in posts)  
  5. post.BlogId = 5;  
  6.  
  7. dbContext.SubmitChanges(); 

Linq to SQL也會自動的幫你生成Update語句了。

有了插入,更新,查詢就差一個Delete CURD就全了,對于delete更簡單了,你只要調(diào)用Table的DeleteOnSubmit方法就行了,這里就不再詳述。

這篇文章主要關(guān)注How Do I上面,對一個簡單的單表CURD做一個比較全面的介紹,下一篇會更深入一些,將會涉及到多表的連接,兩個表之間的關(guān)系怎樣反應到映射上來,還將探討一下Linq to SQL中的延遲計算的問題。本篇定位為入門級,只期望給一些初學者或者未接觸過Linq的朋友一些提示。


新聞名稱:LinqtoSQL簡單分析
鏈接URL:http://m.5511xx.com/article/cdpjijo.html