LINQ仕上げ


LINQ仕上げ

単純なLINQの構文

1 
2
3
4
5
6
7

VaRの SS = から R db.Am_recProScheme セレクト R。// 2 VAR SS1 = db.Am_recProScheme。// 3 文字列 sssql = "Am_recProScheme SELECT * FROM" ;





クエリどこ

1 
2
3
4
5
6
7
8

するvar = SS から R db.Am_recProScheme r.rpId> 10 セレクト R。// 2 VARの SS1 = db.Am_recProScheme.Where(P => p.rpId> 10)。// 3 文字列 sssql = "RPID> 10 Am_recProScheme SELECT * FROM" ;






簡単な計算機能(カウント、最小、最大、合計)

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

//得る最大RPIDの
VARの SS =(から R&LT db.Am_recProScheme SELECT R&LT).MAX(P => p.rpId); //最小RPIDを取得するvar(SS = から R&LT db.Am_recProScheme SELECT R&LT)を。分(P => p.rpId); //結果セットの総数を取得するvar SSを=(から R&LT db.Am_recProScheme SELECT .Count R&LT)(); // RPIDを取得し、VaRの SS =(から R&LT DB。 Am_recProScheme SELECT R&LT).SUM(P => p.rpId); // 2 VAR











SS1 = db.Am_recProScheme.Max(P => p.rpId)。
VAR SS1 = db.Am_recProScheme.Min(P => p.rpId)。
VAR SS1 = db.Am_recProScheme.Count()。
VAR SS1 = db.Am_recProScheme.Sum(P => p.rpId)。
Response.Writeを(SS)。
// 3
文字列 sssql = "Am_recProSchemeから最大(RPID)を選択し、" ;
sssql = "SELECT分Am_recProSchemeから(RPID)"
sssql = "SELECT COUNT(1)Am_recProSchemeから"
sssql = "Am_recProSchemeから合計(RPID)を選択し、" ;

DESC / ASC並べ替え順

1 
2
3
4
5
6
7
8
9
10
するvar = SS から R  db.Am_recProScheme r.rpId> 10 ORDERBY r.rpIdが下降//倒序//昇順//正序選択 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(); 文字列 = sssql "Am_recProScheme RPIDによってRPID> 10オーダーSELECT * FROM [降順を| ASC]" ;









トップ(1)

1 
2
3
4
5
6
7
//如果取最后一个可以按倒叙排列再取值
var ss = (from r in db.Am_recProScheme
select r).FirstOrDefault();
//()linq to ef 好像不支持 Last()
var ss1 = db.Am_recProScheme.FirstOrDefault();
//var ss1 = db.Am_recProScheme.First();
string sssql = "select top(1) * from Am_recProScheme";

跳过前面多少条数据取余下的数据

1
2
3
4
5
6
7
8

var ss = (from r in db.Am_recProScheme
orderby r.rpId descending
select r).Skip(10); //跳过前10条数据,取10条之后的所有数据
//2
var ss1 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Skip(10).ToList();
//3
string sssql = "select * from (select ROW_NUMBER()over(order by rpId desc) as rowNum, * from [Am_recProScheme]) as t where rowNum>10";

分页数据查询

1
2
3
4
5
6
7
8
9

var ss = (from r in db.Am_recProScheme
where r.rpId > 10
orderby r.rpId descending
select r).Skip(10).Take(10); //取第11条到第20条数据
//2 Take(10): 数据从开始获取,获取指定数量(10)的连续数据
var ss1 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).Skip(10).Take(10).ToList();
//3
string sssql = "select * from (select ROW_NUMBER()over(order by rpId desc) as rowNum, * from [Am_recProScheme]) as t where rowNum>10 and rowNum<=20";

包含,类似like ‘%%’

1
2
3
4
5
6
7
8

var ss = from r in db.Am_recProScheme
where r.SortsText.Contains("张")
select r;
//2
var ss1 = db.Am_recProScheme.Where(p => p.SortsText.Contains("张")).ToList();
//3
string sssql = "select * from Am_recProScheme where SortsText like '%张%'";

分组group by

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

var ss = from r in db.Am_recProScheme
orderby r.rpId descending
group r by r.recType into n
select new
{
n.Key, //这个Key是recType
rpId = n.Sum(r => r.rpId), //组内rpId之和
MaxRpId = n.Max(r => r.rpId),//组内最大rpId
MinRpId = n.Min(r => r.rpId), //组内最小rpId
};
foreach (var t in ss)
{
Response.Write(t.Key + "--" + t.rpId + "--" + t.MaxRpId + "--" + t.MinRpId);
}
//2
var ss1 = from r in db.Am_recProScheme
orderby r.rpId descending
group r by r.recType into n
select n;
foreach (var t in ss1)
{
Response.Write(t.Key + "--" + t.Min(p => p.rpId));
}
//3
var ss2 = db.Am_recProScheme.GroupBy(p => p.recType);
foreach (var t in ss2)
{
Response.Write(t.Key + "--" + t.Min(p => p.rpId));
}
//4
string sssql = "select recType,min(rpId),max(rpId),sum(rpId) from Am_recProScheme group by recType";

连接查询

1
2
3
4
5
6
7
8
9

var ss = from r in db.Am_recProScheme
join w in db.Am_Test_Result on r.rpId equals w.rsId
orderby r.rpId descending
select r;
//2
var ss1 = db.Am_recProScheme.Join(db.Am_Test_Result, p => p.rpId, r => r.rsId, (p, r) => p).OrderByDescending(p => p.rpId).ToList();
//3
string sssql = "select r.* from [Am_recProScheme] as r inner join [dbo].[Am_Test_Result] as t on r.[rpId] = t.[rsId] order by r.[rpId] desc";

sql中的In

1
2
3
4
5
6
7
8
9
10

VaRの SS = からのp デシベル。Am_recProScheme 場合新しいINT?[] { 242526 })。含まれているp.rpIdを選択したp ;


foreachのVARの P における SS)
{
のResponse.Write(p.Sorts)。
}
// 2
STは= "Am_recProSchemeここRPIDに(24,25,26)SELECT * FROM"

参考資料

オリジナル:ビッグボックス  LINQ仕上げ


おすすめ

転載: www.cnblogs.com/chinatrump/p/11584965.html