Linq to sql 的學習體會

2021-05-25 12:43:14 字數 1399 閱讀 3978

linq to sql 的基礎類是: datacontext; 當建立完資料庫連線時,他會自動生成一段指令碼**。這段指令碼**實現的是與資料庫的連線。

**生成為

[global::system.diagnostics.debuggernonusercodeattribute()]

[global::system.configuration.specialsettingattribute(global::system.configuration.specialsetting.connectionstring)]

[global::system.configuration.defaultsettingvalueattribute("data source=.;initial catalog=garden;user id=sa;password=wangbaohui")]

public string gardenconnectionstring

} 連線完成後就可以往dbml頁面拖拽你的所需要的表了,我以northwind資料庫為例,我拖拽一張customers表,vs平台會自動對映到你的sql資料庫當中。對映**為:

當我們在sql資料庫當中想檢視這張表的資訊,我們可以寫一行sql語句「select * from customers」,現在linq to sql 也可以在頁面上直接訪問customers表中的資訊內容。我們可以在cs**裡面這樣寫**:

使用 linq to sql  之前:

1.我們定義乙個類,這個類名稱是datacontext,他有很多overloading .這裡用到了乙個連線字串的乙個load,與資料庫進行進行互動的連線。

2.連線完資料庫,我會找到我要去尋找我要查的info,也就是我要select 哪張表。這裡我們從資料庫當中尋找到了customers這張表,主要用到system.data.linq.table定義表,在上面用ctx.getable()找到所對映的資料庫表。

3.就是linqde查詢語句了,first()方法返回customer表的第一條資料,還有值得注意的是tolist()就是把結果集轉換成表的型別集合。

接下來討論下lamda表示式(=>)

他是乙個委託,比如說我們定義乙個委託   :delegate int del(int i);  然後我們就可以直接對這個定義的委託賦值del mydelegate = x => x * x;  這樣我們把lamda表示式賦給了定義的委託之後,我們呼叫這個mydelegate(5),他將返回25這個值。

為了便於理解我再寫乙個例子:

這個例子返回的是在numbers這個陣列中%2等於1的數字個數。lamda表示式為n=>n%2==1.   

下面給出了乙個檢索customers表中city名稱存在陣列當中的資料。

接下來說說怎麼應用linq to sql 訪問儲存過程:

然後寫一段有引數的儲存過程上的**:

gSOAP學習體會

include soaph.h 得到存根程式 include sendemailbinding.nsmap 得到命名空間對映表 include include include soapsendemailbindingproxy.h using namespace std int main int a...

git 學習體會

下午頭暈呀。學而不思則則罔,看了好幾天git,隨便寫寫來整理下思路。這幾天主要做了3個事情,一是寫了20多頁的ppt 準備交流,乙個是看了progit的中文件,還有乙個是在stackoverflow上提了幾個問題。對git也算入門了吧,熟練掌握常用命令的含義和用法 不帶參的 知道了git的儲存和資料...

UI學習體會

很多時候自我感覺做好的一件事情,往往並不會得到別人的認可 經不起別人的推敲,總是自己被澆的狗血淋頭 很多時候,我們都沒有站在另外的乙個角度去看問題 也許不是你要做多少多少事情,關鍵是你要別人承認你的價值所在 今天上完ui作業點評後,才發現自己可以去石化了 很多資訊不是我們自我感覺好了就ok了 我們程...