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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LINQtoDataSet學(xué)習(xí)筆記

Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ to DataSet,包括介紹對IEnumeralbe進(jìn)行數(shù)據(jù)行的集合操作等方面。

10年的普陀網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整普陀建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“普陀網(wǎng)站設(shè)計”,“普陀網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

要了解LINQ to DataSet,首先,讓我們來看看DataRowExtensions中的擴(kuò)展方法。在這個DataRowExtensions中的擴(kuò)展方法主要是從數(shù)據(jù)行中獲得字段的值(泛型的Field方法)和設(shè)置數(shù)據(jù)行中字段的值(泛型的SetField方法)。

 
 
 
  1. public static T Field(this DataRow row,DataColumn column)  
  2. public static T Field(this DataRow row,int columnIndex)  
  3. public static T Field(this DataRow row,string columnName)  
  4. public static T Field(this DataRow row,DataColumn column,DataRowVersion version)  
  5. public static T Field(this DataRow row,int columnIndex,DataRowVersion version)  
  6. public static T Field(this DataRow row,string columnName,DataRowVersion version)  
  7. public static void SetField(this DataRow row,DataColumn column,T value)  
  8. public static void SetField(this DataRow row,int columnIndex, T value)  
  9. public static void SetField(this DataRow row,string columnName,T value) 

其中,row: 是我們要使用的數(shù)據(jù)行對象實(shí)例
◆column: 指定要返回(設(shè)置)其值的列
◆columnIndex: 指定要返回(設(shè)置)其值的列的索引
◆columnName: 指定要返回(設(shè)置)其值的列名
◆value: 要設(shè)置的新值,如果是null,將自動轉(zhuǎn)換為DBNull.Value
◆version: 要獲取的數(shù)據(jù)行的版本

在使用LINQ to DataSet的時候需要注意以下幾個方面:

1.在對IEnumeralbe進(jìn)行數(shù)據(jù)行的集合操作如Distinct, Except, Union, Intersect, SequenceEqual時,需要使用System.Data.DatarowComparer.Default作為比較器作為輸入?yún)?shù),以保證對 DataRow是進(jìn)行值比較,而不是引用比較。當(dāng)然,如果GroupBy或者其他操作的key的類型是DataRow時,也需要使用此比較器,以使我們得到我們期望的行為。

2.SetField可以將字段值設(shè)置為null,并且SetField方法將自動將其轉(zhuǎn)換為DBNull.Value.

3.Field可以完成從DBNull.Value到null的轉(zhuǎn)換。也就是說,如果該字段的值是DBNull.Value 時,F(xiàn)ield方法將自動將其轉(zhuǎn)為null并返回。這個方法是強(qiáng)類型的,不需要象通過列名或者列索引返回字段值一樣將Object類型進(jìn)行造型成需要的類型(值類型進(jìn)行拆箱操作),(如果字段的值是DBNull.Value時進(jìn)行造型還將導(dǎo)致拋出異常)Field擴(kuò)展方法自動做了這些處理,省去了開發(fā)人員手動進(jìn)行這些處理的麻煩。

4.缺省情況下,數(shù)據(jù)行的Original版本中是沒有值的,試圖訪問時將導(dǎo)致異常發(fā)生。當(dāng)然,可以在訪問之前使用DataRow.HasVersion來進(jìn)行判斷,以防止異常的發(fā)生。也可以通過調(diào)用DataRow.AcceptChanges方法來建立Original版本來避免異常的發(fā)生。不帶LoadOptions參數(shù)的CopyToDataTable擴(kuò)展方法也會為返回的DataTable 自動建立DataRow的Original和Current版本.

5.當(dāng)使用帶LoadOptions輸入?yún)?shù)的CopyToDataTable擴(kuò)展方法時,必須為目標(biāo)DataTable指定主鍵列,否則,該函數(shù)只是將源DataTable追加到目標(biāo)DataTable的最后面??赡苓_(dá)不到期望更新的結(jié)果。

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計學(xué)習(xí)筆記
  5. LINQ重要組成部分簡介

名稱欄目:LINQtoDataSet學(xué)習(xí)筆記
文章位置:http://m.5511xx.com/article/copgehs.html