亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

LinkToSql簡單

2019-11-14 16:13:58
字體:
來源:轉載
供稿:網友

Linq及其擴展

Linq是一種數據查詢語言(它能夠從多種數據源中查詢數據). 現在基于Linq的擴展有:

  1. Linq To Object:主要是從內存對象中查詢數據
  2. Linq To Sql:主要是從MS Sql Server數據庫中操縱(查詢/新增/修改/刪除)數據
  3. Linq To xml:主要是從XML片段或XML文檔中查詢數據

 

Linq To Sql簡介

Linq To Sql是一個微軟在.NET Framework 3.5中推出的一款ORM(Object  Relation  Model)實體框架.一個好的實體框架除了能夠將數據表映射為實體類,還應該支持使用面向的思想去操縱關系型數據庫.現在比較流行的ORM框架包括:Linq To Sql/Entity Framework/Nhibernate.

我們在使用Linq To Sql的過程中,很少去手寫SQL語句就能實現常見的數據增刪改差操作.但是它的底層實現仍然是Ado.net.那么如何檢測Linq To Sql生成的SQL語句呢?通過DataContext的Log屬性即可實現檢測功能.

 

Linq To Sql設計器

在服務器資源管理器中通過拖拽的方式,將數據表放置到Linq To Sql的設計器區域后,VS自動將這些數據表生成N+1(N為數據表的個數)個類.這些類大致可以分為2:一種是數據庫上下文,另一種是實體類.數據庫上下文類就是名稱以DataContext結尾的類,它繼承自Sytem.Data.Linq.DataContext.

他們的作用分別是:DataContext類用于和數據庫交互(增刪改查),每次進行數據庫操作時,都應該先創建該類對象;

而每一個實體類則和數據表相對應.

DataContext的特性標記為Database,表示與數據庫相關

實體類的特性標記是Table,表示與數據表相關

實體類中屬性的特性標記是Column,表示與數據列相關

 

DataContext數據庫上下文類的常用屬性和方法

CreateDatabase():創建數據庫

DeleteDatabase():刪除數據庫

DatabaseExits():判斷數據庫是否存在

Log:該屬性用于檢測和寫入LINQ TO SQL生成的SQL語句

 

Linq To Sql常用操作

新增數據

void  InsertOnSubmit():實現每次新增1條記錄

void  InsertAllOnSubmit():實現一次新增多條記錄

注意:調用InsertOnSubmit,一定要再調用DataContext.SubmitChanges();

 

修改數據

首先,查詢到要修改的元素

其次,改變元素相應的屬性

最后,調用dataContext.SubmitChanges()

 

刪除數據

首先,查詢到要刪除的元素

其次,調用void DeleteOnSubmit()刪除單個元素,如果要刪除多個可以調用void DelteAllOnSubmit()

最后,調用dataContext.SubmitChanges();

 

數據查詢

數據查詢時,2種常用的使用方式.一種是使用linq的標準語法;一種是使用Lambda表達式擴展方法.

單表查詢:

 

多表查詢:

 

典型應用場景

場景1:在一個頁面中實現:添加一個工資模版,以及該工資模版的多個工資條目

 

做法一:

 

做法二:

 

上述兩種做法都可以實現功能.做法一是先實現工資模版的新增,然后再新增工資條目.做法二是向工資模版對象中添加多個工資條目,然后向數據庫提交工資模版.

需要注意的是,做法一中為工資條目對象設置了工資模版ID,而做法二并沒有為工資條目設置工資模版ID.但為什么最后效果卻是一樣的呢?

因為我們將工資條目添加到工資模版對象中時,linq to sql會自動將主外鍵關系的字段賦值.

場景二:使用Linq To Sql進行分頁

分頁功能需要使用兩個函數進行組合:Skip()Take()

Skip(int count):跳過count條數據

Take(int count):從開始位置提取count條記錄

分頁查詢: dataContext.XXX.Skip(pageIndex * pageSize).Take(pageSize)

pageIndex是要提取的第幾頁記錄.pageIndex >= 0

pageSize是每頁顯示的記錄條數

 

 

 

 

其他

  • EntitySet<T>:該類表示數據實體的集合
  • System.Data.Linq.Table<T>:該類表示數據表對象
  • 如何判定通過Linq To Sql進行數據的修改/刪除/新增是否成功?

因為InsertOnSubmit方法和DataContext.SubmitChanges()方法都沒有任何返回值,所以無法通過他們判斷出是否操作成功.判斷的標準就是:如果不拋出異常就成功,拋出異常肯定就失敗了.

  • 對于標識列(自動生成列)而言,在調用DataContext.XXX.InsertOnSubmit()后是無法獲取標識列的值的;只有在調用DataContext.SubmitChanges()后方能獲取標識列的值.

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品白嫩美女在线观看| 亚洲变态欧美另类捆绑| 欧美亚洲在线观看| 国产主播精品在线| 欧美精品aaa| 日韩av中文字幕在线免费观看| 九九久久国产精品| 成人精品在线观看| 精品一区二区三区四区| 亚洲丝袜在线视频| 成人精品久久av网站| 国产成人在线精品| 国产亚洲一区二区精品| 久久国产精品电影| 国产精品男人爽免费视频1| 欧美黄网免费在线观看| 国产精品福利久久久| 亚洲视频一区二区三区| 国产精品视频免费观看www| 欧美性受xxxx白人性爽| 欧美日韩福利在线观看| 国产日韩精品视频| 日韩黄色在线免费观看| 疯狂做受xxxx欧美肥白少妇| 在线播放国产一区中文字幕剧情欧美| 成人自拍性视频| 欧美亚洲国产视频小说| 亚洲男人的天堂在线| 国产精品久久久久久影视| 国产日韩在线一区| 丰满岳妇乱一区二区三区| 欧美视频在线看| 亚洲国内高清视频| 欧美一区亚洲一区| 亚洲999一在线观看www| 久久精品视频播放| 亚洲成人精品视频| 91久久精品日日躁夜夜躁国产| 成人www视频在线观看| 韩国一区二区电影| 成人黄色免费网站在线观看| 欧美高清在线播放| 日韩中文在线中文网在线观看| 欧美丰满老妇厨房牲生活| 国产精品自在线| 亚洲午夜久久久影院| 伊人精品在线观看| 97视频在线免费观看| 国产成人精品日本亚洲专区61| 国产主播欧美精品| 久久久成人的性感天堂| 国产一区视频在线| 中文字幕av一区| 97视频在线观看播放| 不卡av电影院| 久久99久久99精品免观看粉嫩| 亚洲视频在线观看视频| 国产精品视频免费在线观看| 欧美精品手机在线| 国产成人综合av| 91高清在线免费观看| 欧美在线一级视频| 国产精品久久久久高潮| 欧美成人免费全部观看天天性色| 日韩av在线网页| 日韩欧美中文在线| 96pao国产成视频永久免费| 欧美片一区二区三区| 欧美中文字幕第一页| 久久久精品免费| 中文字幕亚洲欧美日韩高清| 成人美女免费网站视频| 国产经典一区二区| 久久久久国产精品www| 尤物九九久久国产精品的特点| 69久久夜色精品国产69乱青草| 国产视频精品va久久久久久| 国产日韩在线一区| 在线观看久久久久久| 久久躁狠狠躁夜夜爽| 午夜欧美不卡精品aaaaa| 日韩在线欧美在线国产在线| 国产精品男人的天堂| 国产精品视频最多的网站| 中文字幕日韩欧美在线视频| 美日韩精品视频免费看| 日韩中文字幕在线视频播放| 欧美精品videos性欧美| 国产精品国产三级国产aⅴ9色| 久久成人精品视频| 亚洲激情视频在线| 成人免费大片黄在线播放| yw.139尤物在线精品视频| 欧美一级淫片videoshd| 中文字幕自拍vr一区二区三区| 日韩av影视综合网| 久久精品国产精品| 日韩电影在线观看永久视频免费网站| 成人欧美在线观看| 亚洲第一区中文99精品| 久久激情视频免费观看| 亚洲电影在线观看| 国产亚洲欧美视频| 久久久久国产精品www| 日韩免费视频在线观看| 95av在线视频| 日本久久精品视频| 日本免费一区二区三区视频观看| 激情久久av一区av二区av三区| 奇门遁甲1982国语版免费观看高清| 这里只有精品在线观看| 日韩欧美精品免费在线| 国产亚洲一区二区在线| 欧美激情综合色综合啪啪五月| 亚洲国产精品热久久| 久久精品男人天堂| 最新中文字幕亚洲| 97**国产露脸精品国产| 国产成人av在线播放| 日韩高清免费在线| 91香蕉电影院| 日韩国产激情在线| 亚洲成人三级在线| 亚洲午夜性刺激影院| 亚洲精品久久7777777| 97视频色精品| 精品久久久久久久久国产字幕| 色噜噜狠狠狠综合曰曰曰88av| 久久久精品免费视频| 久久精品福利视频| 日韩亚洲欧美中文高清在线| 91精品国产亚洲| 日韩高清电影免费观看完整| 一区二区三区国产视频| 大伊人狠狠躁夜夜躁av一区| 欧美性xxxx极品hd满灌| 2020久久国产精品| 午夜精品一区二区三区在线视| 欧美人在线视频| 日韩成人性视频| 亚洲国产日韩一区| 亚洲自拍偷拍区| 中文字幕精品在线| 日韩激情av在线播放| 亚洲精品mp4| 播播国产欧美激情| 久久久精品免费| 91精品国产亚洲| 欧美激情按摩在线| 日韩av在线播放资源| 欧美伊久线香蕉线新在线| 黄网动漫久久久| 97人人模人人爽人人喊中文字| 日韩av在线免费观看一区| 精品久久久在线观看| 韩国日本不卡在线| 久久91亚洲精品中文字幕奶水| 久久久久久亚洲| 亚洲加勒比久久88色综合| 91在线高清免费观看| 欧美日韩中文字幕在线| 亚洲精品在线视频| 久久久久久国产精品久久| 亚洲成人av资源网|