成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq to SQL簡單分析

開發(fā) 后端
這里探討一下Linq to SQL中的延遲計(jì)算的問題。本篇定位為入門級(jí),只期望給一些初學(xué)者或者未接觸過Linq的朋友一些提示。

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

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

  1. Table<Post> posts = dbContext.GetTable<Post>();  
  2. //先實(shí)例化一個(gè)新的要插入的對(duì)象  
  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ù)庫,這個(gè)時(shí)候才真正執(zhí)行了  
  11. dbContext.SubmitChanges();  
  12. //提交修改后,你就可以查詢新插入的post的Id了  
  13. Console.WriteLine(post.Id); 

一個(gè)簡單的不能再簡單的insert into語句,加上一條返回新插入記錄的標(biāo)識(shí)值的語句。

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

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

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

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

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

  1. var posts = from post in dbContext.GetTable<Post>()  
  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也會(huì)自動(dòng)的幫你生成Update語句了。

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

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

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個(gè)數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計(jì)學(xué)習(xí)筆記
  5. LINQ重要組成部分簡介
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-15 15:09:50

Linq本質(zhì)

2009-09-11 09:41:19

LINQ to SQL

2009-09-08 17:01:54

Linq源元素

2009-09-10 17:53:50

LINQ是什么

2009-09-15 14:58:26

Linq查詢本質(zhì)

2009-09-15 13:53:53

Linq To Sql

2009-09-17 11:29:50

Linq擴(kuò)展方法

2009-09-09 18:03:47

LINQ to SQL

2009-09-15 10:46:04

LINQ to SQL

2009-09-15 13:37:24

Linq To Sql

2009-09-17 15:51:39

Linq to sql

2009-09-08 14:34:42

Linq to SQL

2009-09-16 09:23:14

LINQ To SQL

2010-08-04 09:55:34

LINQ to SQL

2009-09-09 14:20:49

LINQ To Luc

2009-09-09 15:28:43

Linq to obj

2009-09-10 16:28:17

LINQ查詢

2009-09-14 10:57:46

LINQ入門

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-15 16:26:36

Linq orderb
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 91视频一88av | 国产精品视频在线观看 | 成人av免费在线观看 | 成人高清在线视频 | 成人久久一区 | 精品国产91亚洲一区二区三区www | 国产一级片免费在线观看 | 国产高清精品网站 | 91亚洲精选 | 国产精品永久久久久 | 久久九 | 91久久久久| 激情自拍偷拍 | 在线午夜| 国产在线观看福利 | 欧美一区二区在线播放 | 狠狠做深爱婷婷综合一区 | 青青草一区二区 | 黄色在线观看 | 一区中文 | 久草视频2| 九九九视频在线 | 九九综合九九 | 第四色影音先锋 | 神马久久久久久久久久 | 日韩三区在线 | 6080yy精品一区二区三区 | 国产欧美日韩在线观看 | 水蜜桃亚洲一二三四在线 | 一区二区视频在线观看 | 日韩免费在线 | 亚洲在线观看视频 | 欧美 日韩 国产 成人 在线 | 91麻豆精品国产91久久久久久久久 | 亚洲精品日韩综合观看成人91 | 九九热视频这里只有精品 | h视频免费在线观看 | 在线观看视频一区二区三区 | 久久久久高清 | 欧美精品在线免费观看 | 日韩亚洲视频在线 |