SQL LINQ
| SQL |
??????
定義
??????結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL(發(fā)音:/?es kju? ?el/ “S-Q-L”),是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
類型
?????? sql是向關(guān)系型數(shù)據(jù)庫的查詢
| LINQ |
??????
定義
??????LINQ(Language Integrated Query)語言集成查詢是一組用于c#和Visual Basic語言的擴(kuò)展。它允許編寫C#或者Visual Basic代碼以查詢數(shù)據(jù)庫相同的方式操作內(nèi)存數(shù)據(jù)
類型
??????linq是面向?qū)ο蟮膕ql,linq實(shí)際上是對(duì)內(nèi)存里的數(shù)據(jù)的查詢
| 比較 |
??????
1、簡單的查詢
//sql
var ss = from r in db.Am_recProScheme select r;
//linq
string sssql = "select * from Am_recProScheme";
2、帶where的查詢
//sql
string sssql = "select * from Am_recProScheme where rpid>10";
//linq
var ss = from r in db.Am_recProScheme where r.rpId > 10 select r;
3、簡單的函數(shù)計(jì)算(count,min,max,sum)
//sql
string sssql = "select max(rpId) from Am_recProScheme";
sssql = "select min(rpId) from Am_recProScheme";
sssql = "select count(1) from Am_recProScheme";
sssql = "select sum(rpId) from Am_recProScheme";
//linq
//獲取最大的rpId
var ss = (from r in db.Am_recProScheme select r).Max(p => p.rpId);
//獲取最小的rpId
var ss = (from r in db.Am_recProScheme select r).Min(p => p.rpId);
//獲取結(jié)果集的總數(shù)
//var ss = (from r in db.Am_recProScheme select r).Count();
//獲取rpId的和
var ss = (from r in db.Am_recProScheme select r).Sum(p => p.rpId);
4、排序order by desc/asc
//sql
string sssql = "select * from Am_recProScheme where rpid>10 order by rpId [desc|asc]";
//linq
var ss = from r in db.Am_recProScheme where r.rpId > 10
orderby r.rpId descending //倒序
// orderby r.rpId ascending //正序
select r;
//正序
var ss1 = db.Am_recProScheme.OrderBy(p => p.rpId).Where(p => p.rpId > 10).ToList();
//倒序
var ss2 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).ToList();
| 總結(jié) |
??????
??????做項(xiàng)目的時(shí)候用到了linq,但是理解還是非常地淺,慢慢地再學(xué)習(xí)吧!
總結(jié)
- 上一篇: 第7章第10节:分割式布局:纵向居中分割
- 下一篇: linux r7 4800u,r7 48