18
課程《Entity Framework 開發實務》 康廷數位 www.kangting.tw 1 LINQ 整合入門

Entity framework 與 LINQ

  • Upload
    ktsean

  • View
    1.665

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Entity framework 與 LINQ

課程《Entity Framework 開發實務》

康廷數位 www.kangting.tw 1

LINQ 整合入門

Page 2: Entity framework 與 LINQ

課程需具備基礎能力

入門 C# 語法

Entity Framework 基礎知識

康廷數位 www.kangting.tw 2

Page 3: Entity framework 與 LINQ

DbSet 與 LINQ

public abstract class DbSet : DbQuery

public abstract class DbQuery :

IOrderedQueryable,

IQueryable,

IEnumerable,

IListSource,

IDbAsyncEnumerable

康廷數位 www.kangting.tw 3

Page 4: Entity framework 與 LINQ

LINQ select 敘述

IEnumerable<Product> products =

from product in model.Products

select product;

康廷數位 www.kangting.tw 4

Page 5: Entity framework 與 LINQ

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

Page 6: Entity framework 與 LINQ

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

Page 7: Entity framework 與 LINQ

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

Page 8: Entity framework 與 LINQ

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

Page 9: Entity framework 與 LINQ

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

Page 10: Entity framework 與 LINQ

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

Page 11: Entity framework 與 LINQ

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

Page 12: Entity framework 與 LINQ

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

Page 13: Entity framework 與 LINQ

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 CatB key:CatB

key:CatA

Page 14: Entity framework 與 LINQ

LINQ select 敘述

IEnumerable<Product> products =

from product in model.Products

select product;

康廷數位 www.kangting.tw 14

Page 15: Entity framework 與 LINQ

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; }

}

Page 16: Entity framework 與 LINQ

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

Page 17: Entity framework 與 LINQ

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 特價

Page 18: Entity framework 與 LINQ

《Entity Framework 開發實務》

康廷數位 www.kangting.tw 18