SQL LINQ
| SQL |
??????
定義
??????結構化查詢語言(Structured Query Language)簡稱SQL(發音:/?es kju? ?el/ “S-Q-L”),是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。
類型
?????? sql是向關系型數據庫的查詢
| LINQ |
??????
定義
??????LINQ(Language Integrated Query)語言集成查詢是一組用于c#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢數據庫相同的方式操作內存數據
類型
??????linq是面向對象的sql,linq實際上是對內存里的數據的查詢
| 比較 |
??????
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、簡單的函數計算(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);
//獲取結果集的總數
//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();
| 總結 |
??????
??????做項目的時候用到了linq,但是理解還是非常地淺,慢慢地再學習吧!
總結
- 上一篇: 第7章第10节:分割式布局:纵向居中分割
- 下一篇: SQL 中文首字母提取与自定义排序