從年前一直在做乙個專案,所有沒有時間來看書學習,最近終於有點空閒時間了,就想認真學習下在專案中用到的linq to sql。在做專案的過程中覺得linq很是神奇,語法簡單、直觀,對於我這個sql語句不是特別精通的菜鳥來說幫助甚大,所以就抽時間來好好學習學習linq的精妙。
今天學習的內容是where的使用,主要是通過例子來展示。
linq中的where與sql命令中的where很類似,都是起到了過濾的作用,where後面緊接判定條件子句。
where操作包括三種形式,分別為簡單形式、關係條件形式、first()形式。
我將簡單形式理解為單一條件的where語句,即在條件子句中只是通過>、<、=、≠作為條件來過濾資料。
例如:使用where篩選年齡大於20歲的學生
1
2
3
var
query =
from
student
in
db.students
where
student.age > 20
select
student;
1或者:
1var
query = db.students.where(student=>student.age > 20);
又或者篩選來自北京的學生
1
2
3
var
query =
from
student
in
db.students
where
student.city==
"北京"
select
student;
1或者:
1var
query = db.students.where(student=>student.city==
"北京"
);
關係條件形式與簡單形式的不同在於,它的條件子句中包含多個條件的並或交,即在簡單形式的基礎上加上&&、||。
例如:篩選來自北京且年齡大於20歲的學生
1
2
3
var
query =
from
student
in
db.students
where
student.age > 20 && student.city==
"北京"
select
student;
1或者:
1var
query = db.students.where(student=>student.age > 20 && student.city==
"北京"
);
再如,篩選來自壯族或滿族的學生
1
2
3
var
query =
from
student
in
db.students
where
student.nationality ==
"壯族"
|| student.nationality ==
"滿族"
select
student;
1或者:
12
var
query = db.students.where(student=>student.nationality ==
"壯族"
|| student.nationality ==
"滿族"
);
大家可以很容易的區分簡單形式和關係條件形式的不同。
first形式與前面兩種不同,它類似於在sql命令中的top(1)限定,即我們只返回集合中的第乙個元素。
例如:選擇學生名單中的第乙個學生
1
student student = db.students.first();
再如:選擇學號為1101021的學生
1
student student = db.students.first(student=>student.stuno==
"1101021"
);
使用first形式,可以用唯一值來作篩選條件以便確定出唯一需要的資料。
總結:在使用linq to sql的過程中簡化了以前使用sql的繁瑣書寫,使語句更加的簡單直觀。通過今天的where學習,更加熟練了這方面的操作,也讓我更加喜歡神奇的linq了。
LINQ to SQL 簡單查詢
使用 linq 技術 進行查詢 步驟 1.先建立linq to sql 檔案 2.利用vs伺服器資源管理器連線上sql 把表拖到linq to sql 檔案中。code protected void page load object sender,eventargs e 編寫 注 建的linq to...
Linq to Sql之簡單應用
1,普通方式 增刪改查 新增資料 li new linq.linq i tabledatacontext 例項化乙個表,並繫結資料 linq.i table ii new linq.i table ii.i type typetext.value ii.i fund fundtext.value l...
簡單測試linq to sql效能
前些日子,做了乙個物業收費系統,cs模式,用到了linq to sql 技術,這是我第一次使用這個東東寫程式訪問資料庫,迷迷糊糊搞得一塌糊塗,當時有個同學他們找好的分頁元件,然後寫好了呼叫方法,由於時間比較急,而且第一次用,所以沒有怎麼研究就直接按照注釋使用他們寫好的分頁方法,然而開發過程中一直都對...