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,但是理解还是非常地浅,慢慢地再学习吧!