linq中文教程 十

2021-05-22 14:31:14 字數 1224 閱讀 5483

使用dbdatareader資料來源

using system.data.sqlclient;

var conn = new sqlconnection("server=***;database=northwind;uid=***;pwd=***");

var ctx = new datacontext(conn);

var cmd = new sqlcommand("select * from customers where customerid like 'a%'", conn);

conn.open();

var reader = cmd.executereader();        

gridview1.datasource = ctx.translate(reader);

gridview1.databind();

conn.close();

你同樣可以選擇使用datareader獲取資料,增加了靈活性的同時也增加了效能。

看到這裡,你可能會覺得手工定義和資料庫中表對應的實體類很麻煩,不用擔心,vs2008提供了自動生成實體類以及關係的工具,工具的使用將在以後講解。今天就講到這裡,和datacontext相關的事務、載入選項、併發選項以及關係實體等高階內容也將在以後講解。

示例資料庫

欄位名字段型別

允許空欄位說明id

uniqueidentifier

表主鍵字段

username

varchar(50)

posttime

datetime

message

varchar(400) √

isreplied

bitreply

varchar(400) √

在資料庫中建立乙個名為guestbook的資料庫,在裡面建立乙個tbguestbook的表,結構如上表。

生成實體類

那麼,我們就在伺服器資源管理器中建立乙個指向guestbook資料庫的資料連線,然後把tbguestbook表拖動到guestbook.dbml的設計檢視上,按ctrl+s儲存。開啟guestbook.designer.cs可以發現系統自動建立了guestbook資料庫中tbguestbook表的對映,如下圖:

linq中文教程 二

what s linq?language integrated query 是也。說得再明白一些,這是程式語言的一種新特性,能夠將資料查詢語句整合到程式語言中。目前,linq 支援的語言有 c 和vb。為啥會有 linq 主要還是因為現在的資料格式越來越多,資料庫 xml 陣列 雜湊表 每一種都有自...

linq中文教程 五

自動屬性 public class person public int age public person person p new person p.username aa console.writeline p.username 意義不是很大,純粹解決機械勞動。編譯器自動為你生成get set操...

linq中文教程 七

datacontext datacontext型別 資料上下文 是system.data.linq命名空間下的重要型別,用於把查詢句法翻譯成sql語句,以及把資料從資料庫返回給呼叫方和把實體的修改寫入資料庫。datacontext提供了以下一些使用的功能 以日誌形式記錄datacontext生成的s...