SlideShare a Scribd company logo
1 of 18
Download to read offline
課程《Entity Framework 開發實務》
康廷數位 www.kangting.tw 1
LINQ 整合入門
課程需具備基礎能力
 入門 C# 語法
 Entity Framework 基礎知識
康廷數位 www.kangting.tw 2
DbSet 與 LINQ
public abstract class DbSet : DbQuery
public abstract class DbQuery :
IOrderedQueryable,
IQueryable,
IEnumerable,
IListSource,
IDbAsyncEnumerable
康廷數位 www.kangting.tw 3
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 4
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 5
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 6
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
select
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 7
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
select
select
select
select
select
LINQ where 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 8
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
LINQ where 敘述
IEnumerable<Product> products =
from product in model.Products
where product.Price > 1000
select product;
康廷數位 www.kangting.tw 9
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
LINQ orderby 敘述
IEnumerable<Product> products =
from product in model.Products
orderby product.Id
select product;
康廷數位 www.kangting.tw 10
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
LINQ orderby–descending 敘述
IEnumerable<Product> products =
from product in model.Products
orderby product.Id descending
select product;
康廷數位 www.kangting.tw 11
Id Name Price
n 商品 N price
… … …
… … …
1003 商品 C 1300
1002 商品 B 200
1001 商品 A 100
LINQ group 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 12
Id Name Price Category
1001 商品 A 100 CatA
1002 商品 B 200 CatA
1003 商品 C 1300 CatB
… … …
… … …
n 商品 N price CatB
LINQ group 敘述
IEnumerable<Product> products =
from product in model.Products
group product by product.Category ;
康廷數位 www.kangting.tw 13
Id Name Price Category
1001 商品 A 100 CatA
1002 商品 B 200 CatA
1003 商品 C 1300 CatB
… … …
… … …
n 商品 N price CatBkey:CatB
key:CatA
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 14
LINQ select 轉換
IEnumerable<Product> products =
from product in model.Products
select product;
康廷數位 www.kangting.tw 15
class XProduct
{
public string Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public double SPrice { get; set; }
}
LINQ select 敘述
IEnumerable<Product> products =
from product in model.Products
select new XProduct()
{
Id = id,
Name = name,
Price = price,
SPrice = sPrice
};
康廷數位 www.kangting.tw 16
LINQ select 敘述
康廷數位 www.kangting.tw 17
Id Name Price
1001 商品 A 100
1002 商品 B 200
1003 商品 C 1300
… … …
… … …
n 商品 N price
Id Name Price SPrice
1001 商品 A 100 特價
1002 商品 B 200 特價
1003 商品 C 1300 特價
… … … …
… … … …
n 商品 N price 特價
《Entity Framework 開發實務》
康廷數位 www.kangting.tw 18

More Related Content

Viewers also liked

2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2Duran Hsieh
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練12015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1Duran Hsieh
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4Duran Hsieh
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹Alan Tsai
 
保哥線上講堂:LINQ 快速上手
保哥線上講堂:LINQ 快速上手保哥線上講堂:LINQ 快速上手
保哥線上講堂:LINQ 快速上手Will Huang
 
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียว
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียวการเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียว
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียวกมลรัตน์ ฉิมพาลี
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練62016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6Duran Hsieh
 

Viewers also liked (10)

Linq初階
Linq初階Linq初階
Linq初階
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練12015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
 
French Business Etiquette
French Business EtiquetteFrench Business Etiquette
French Business Etiquette
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹
 
保哥線上講堂:LINQ 快速上手
保哥線上講堂:LINQ 快速上手保哥線上講堂:LINQ 快速上手
保哥線上講堂:LINQ 快速上手
 
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียว
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียวการเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียว
การเคลื่อนที่ของสิ่งมีชีวิตเซลล์เดียว
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練62016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練6
 

Entity framework 與 LINQ

  • 1. 課程《Entity Framework 開發實務》 康廷數位 www.kangting.tw 1 LINQ 整合入門
  • 2. 課程需具備基礎能力  入門 C# 語法  Entity Framework 基礎知識 康廷數位 www.kangting.tw 2
  • 3. DbSet 與 LINQ public abstract class DbSet : DbQuery public abstract class DbQuery : IOrderedQueryable, IQueryable, IEnumerable, IListSource, IDbAsyncEnumerable 康廷數位 www.kangting.tw 3
  • 4. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 4
  • 5. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 5 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price
  • 6. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 6 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price select
  • 7. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 7 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price select select select select select
  • 8. LINQ where 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 8 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price
  • 9. LINQ where 敘述 IEnumerable<Product> products = from product in model.Products where product.Price > 1000 select product; 康廷數位 www.kangting.tw 9 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price
  • 10. LINQ orderby 敘述 IEnumerable<Product> products = from product in model.Products orderby product.Id select product; 康廷數位 www.kangting.tw 10 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price
  • 11. LINQ orderby–descending 敘述 IEnumerable<Product> products = from product in model.Products orderby product.Id descending select product; 康廷數位 www.kangting.tw 11 Id Name Price n 商品 N price … … … … … … 1003 商品 C 1300 1002 商品 B 200 1001 商品 A 100
  • 12. LINQ group 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 12 Id Name Price Category 1001 商品 A 100 CatA 1002 商品 B 200 CatA 1003 商品 C 1300 CatB … … … … … … n 商品 N price CatB
  • 13. LINQ group 敘述 IEnumerable<Product> products = from product in model.Products group product by product.Category ; 康廷數位 www.kangting.tw 13 Id Name Price Category 1001 商品 A 100 CatA 1002 商品 B 200 CatA 1003 商品 C 1300 CatB … … … … … … n 商品 N price CatBkey:CatB key:CatA
  • 14. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 14
  • 15. LINQ select 轉換 IEnumerable<Product> products = from product in model.Products select product; 康廷數位 www.kangting.tw 15 class XProduct { public string Id { get; set; } public string Name { get; set; } public int Price { get; set; } public double SPrice { get; set; } }
  • 16. LINQ select 敘述 IEnumerable<Product> products = from product in model.Products select new XProduct() { Id = id, Name = name, Price = price, SPrice = sPrice }; 康廷數位 www.kangting.tw 16
  • 17. LINQ select 敘述 康廷數位 www.kangting.tw 17 Id Name Price 1001 商品 A 100 1002 商品 B 200 1003 商品 C 1300 … … … … … … n 商品 N price Id Name Price SPrice 1001 商品 A 100 特價 1002 商品 B 200 特價 1003 商品 C 1300 特價 … … … … … … … … n 商品 N price 特價