SlideShare a Scribd company logo
Alan Tsai
Agenda
 Entity Framework
 快速介紹ORM
 EF 整體介紹
 Modeling
 Linq
 概念
 基本語法
 Tips 和工具
ORM爲什麽出現
 像操作檔案的方式操作DB
 DataReader
 保持連線
 只能往前讀
 像操作Table方式操作DB
 DataSet – DataTable,
DataColumn,DataRow
 像操作Object方式操作DB
 Linq to Sql
 Entity Framework
Entity Framework 目前狀況
 最新版本是 EF 6.0.1
 從EF 5 之後都是Open source
(http://entityframework.codeplex.com/)
 從EF 6 之後慢慢和.Net Framework 切割出來
 在EF 5 一定要是.Net Framework 4.5才有Enum 和Spatial
支援
 但是EF 6 就不需要了
Entity Framework 6 Highlight
 Async 支援
 能夠在斷線情況下重新連線
 在.Net 4.0 支援Enum和Spatial
 Code First支援map SP
 更多新東西(http://msdn.microsoft.com/en-
us/data/jj574253 )
如何取得EF
 Nuget
EF 流程
定義Entity
透過Linq取
得資料
Linq轉成
SQL執行
C, R, U, DSaveChange()
EF Entity Mapping
 使用拖拉方式(GUI)
 Database First
 Model First
 OOP方式
 Code First
EDMX
 就是一個XML檔案
 基本有三個部份:
 CSDL - Conceptual schema definition language.
 Entity (Model)
 SSDL - Store schema definition language
 代表DB的結構 – 實際的Table
 MSL - Mapping specification language
 Entity 和 DB的對應資料
新增EDMX
Database First 還是 Model First
選擇Connection
選擇要對應的Model
EDMX
 從EDMX產出對應的
 DbContext – 連線DB
 POCO – Plain Old CLR Object
 和POJO 一樣概念
 透過T4 Template
EDMX 和 Model Browser對應
兩個VS 2012 增加的功能
 可以給Entity不同的顏色來區分:
 可以把Entity切割到不同圖片
Database First EDMX
Code First
 如果你不喜歡使用GUI,那麼可以使用Code First
 使用POCO來定義Entity
 和MVC一樣使用Convention over Configuration
 可以使用Attribute
 可以使用Fluent API
 定義好的POCO加入DbContext
Code First流程
定義POCO
加入到
DbContext
使用Linq
呼叫
修改POCO
做
Migration
Connection String
 設定名字
 Provider
 connectionString
 在DbContext的建構子就能夠指定要使用哪一個Connection。
 <connectionStrings>
 <add name="BlogContext"
 providerName="System.Data.SqlClient"

connectionString="Server=(localdb)v11.0;Database=Blogging;In
tegrated Security=True;"/>
 </connectionStrings>
Convention
 Property 叫做 Id 或者{Class}Id是int 會被當做PK
 Property 是另外一個Type預設為Navigation
 Property是另外一個Type的名稱加上Id是FK
Attribute
 System.ComponentModel.DataAnnotations
 [Key] – 設定那個為PK
 [Required] – 不可為null
 [MaxLength] – string 長度
 [NotMapped] – 不要對應
 [ComplexType]
Lazy Loading
 我們有Navigation但是不一定每一次都需要對應的內容。
 因此當我們把一個Navigation 加上virtual的時候,告訴EF
這個可以Lazy Load。
 如果在Context裡面呼叫到Navigation,那麼就會在那個時
候Load
 假設在Context沒有呼叫,然後到了Context外面才呼叫,
那麼就不會Load
使用Code First快速建立一個Table
Migration
 當有異動的時候,就會需要執行Migration
 Migration將會記錄每一次異動的地方,然後更新資料
庫
 Migration有分為手動和自動
啟動Migration
Migration 資料夾
 有一個Configuration.cs
 用來設定一些Migration執行的時候動作
 例如讓DB產生預設值,或者啟動自動migration
 如果使用手動Migration會有對應檔案產生
手動Migration
 每一次變動在Package Manage Console 輸入
 Add-Migration – 顯示異動內容
 更新到資料庫
 Update-Database
自動Migration
 修改Configuration.cs 的建構子
 AutomaticMigrationsEnabled = true;
 AutomaticMigrationDataLossAllowed = true;
 在啟動的時候改變啟動模式:
 CreateDatabseIfNotExists(預設)
 DropCreateDatabaseIfModelChange
 DropCreateDatabaseAlways
 MigrateDatabaseToLatestVersion
Migration
Code First 已存在DB
對EF做CRUD
 DbContext就像一個資料庫的物件
 每一個在DbContext有註冊的POCO就像一個List一樣,
所以就和平常List一樣直接做Add、Remove。
 Update可以先用Read找出來,然後做修改儲存,或者
是透過DbContext.Entry<T>().SetEntity = modify然後
在儲存。
回顧
 3種方式
 Database First
 Model First
 Code First
 更多範例:
 http://msdn.microsoft.com/en-US/data/ee712907
Language-Integrated Query
Linq 是什麽
 可以把它想成在程式裡面使用SQL
 從告訴程式如何做一件事情,變成告訴程式我們要什
麽:
 例如取得一個Dictonary<String, String> Value叫做
Alan
Linq 構成
 Query Syntax – 像是 SQL
 Method Syntax
 Extension Method
 Lambda Expression
 var – strong type
Linq使用範圍
 Linq to Entity
 Linq to Xml
 Linq to Object – IEnumerable<>
 Linq to Excel – 第三方快速讀取Excel資料
Where() Select() Group()
 Where()可以用來取得符合條件的物件
 Select()能夠project我們要的內容。例如在一個
Customer的object,我們只需要Name和Age,我們可
以:
Skip() 和 Take() 做 分頁
 Skip() 能夠跳過指定的幾個。
 Take()能夠只取得特定的幾個。
Linq 101 sample
 http://code.msdn.microsoft.com/101-LINQ-Samples-
3fb9811b
 幾乎所有常用的都有例子。
Linq 在EF裡面的Eager Load
 EF只有在真的需要資料的時候才會呼叫DB – 稱之為
Lazy Load
 Entity 有Navigation,但是如果做Query的時候沒有包
括Navigation的內容,那麼就不會被呼叫。
 因此需要呼叫Include()來做Eager Load
LinqToExcel
LinqPad
 http://www.linqpad.net/
 可以用來測試Linq語法或者是任何C#語法
 用來學習Linq的最好工具
Breeze.js
 http://www.breezejs.com/
 在Javascript裡面使用類似Linq語法來過濾資料
 可以搭配多種目前做火紅的前端Javascript MVC使用
Mvc Scafollding 功能
結語
 對於EF有個基本瞭解
 對於如何定義Entity的三種方式
 Database First
 Model First
 Code First
 Linq
 工具
 Mvc 和 EF
感謝大家

More Related Content

What's hot

どこに何を書くのか?
どこに何を書くのか?どこに何を書くのか?
どこに何を書くのか?
pospome
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
BIGLOBE Inc.
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
オブジェクト指向入門1
オブジェクト指向入門1オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
 
クエリビルダとEloquent ORM の違い
クエリビルダとEloquent ORM の違いクエリビルダとEloquent ORM の違い
クエリビルダとEloquent ORM の違い
tomo
 
Head First Inception Deck
Head First Inception DeckHead First Inception Deck
Head First Inception Deck
Naoto Nishimura
 
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
Shinya Mori (@mosuke5)
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法
Sho Nakazono
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
 
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
Hiroshi Fukui
 
DataDrift in Azure Machine Learning
DataDrift in Azure Machine LearningDataDrift in Azure Machine Learning
DataDrift in Azure Machine Learning
Keita Onabuta
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
Kiro Harada
 
Face Quality Assessment 顔画像品質評価について
Face Quality Assessment 顔画像品質評価についてFace Quality Assessment 顔画像品質評価について
Face Quality Assessment 顔画像品質評価について
Plot Hong
 
人工知能概論 12
人工知能概論 12人工知能概論 12
人工知能概論 12
Tadahiro Taniguchi
 
勉強会資料 Uml概要
勉強会資料 Uml概要勉強会資料 Uml概要
勉強会資料 Uml概要
Takao Sumitomo
 
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBippei_suzuki
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
Shun Hikita
 

What's hot (20)

どこに何を書くのか?
どこに何を書くのか?どこに何を書くのか?
どこに何を書くのか?
 
MapReduce入門
MapReduce入門MapReduce入門
MapReduce入門
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
オブジェクト指向入門1
オブジェクト指向入門1オブジェクト指向入門1
オブジェクト指向入門1
 
クエリビルダとEloquent ORM の違い
クエリビルダとEloquent ORM の違いクエリビルダとEloquent ORM の違い
クエリビルダとEloquent ORM の違い
 
Head First Inception Deck
Head First Inception DeckHead First Inception Deck
Head First Inception Deck
 
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
【解説】データ指向アプリケーションデザイン 12章 データシステムの未来
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
[サーベイ論文] Deep Learningを用いた歩行者検出の研究動向
 
DataDrift in Azure Machine Learning
DataDrift in Azure Machine LearningDataDrift in Azure Machine Learning
DataDrift in Azure Machine Learning
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
Face Quality Assessment 顔画像品質評価について
Face Quality Assessment 顔画像品質評価についてFace Quality Assessment 顔画像品質評価について
Face Quality Assessment 顔画像品質評価について
 
人工知能概論 12
人工知能概論 12人工知能概論 12
人工知能概論 12
 
勉強会資料 Uml概要
勉強会資料 Uml概要勉強会資料 Uml概要
勉強会資料 Uml概要
 
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
 
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDBMongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 

Viewers also liked

工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
 
Entity framework 入門第一課
Entity framework 入門第一課Entity framework 入門第一課
Entity framework 入門第一課
Sean Lu
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
Alan Tsai
 
Salesforce ppt v07122013
Salesforce ppt v07122013Salesforce ppt v07122013
Salesforce ppt v07122013
ilovehck
 
Linq實戰
Linq實戰Linq實戰
Linq實戰
國昭 張
 
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
Duran Hsieh
 
Entity framework 與 LINQ
Entity framework 與 LINQEntity framework 與 LINQ
Entity framework 與 LINQ
Sean Lu
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練12015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
Duran Hsieh
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
Duran Hsieh
 
Code style 2014-07-18-pub
Code style 2014-07-18-pubCode style 2014-07-18-pub
Code style 2014-07-18-pub
persia cai
 
幾個曾經 發生在數位系的小故事
幾個曾經 發生在數位系的小故事幾個曾經 發生在數位系的小故事
幾個曾經 發生在數位系的小故事
小均 張
 
Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單
Li-Wei Yao
 
Robot framework association intro
Robot framework association   introRobot framework association   intro
Robot framework association intro
Ismo Aro
 
Design Pattern Explained CH1
Design Pattern Explained CH1Design Pattern Explained CH1
Design Pattern Explained CH1
Jamie (Taka) Wang
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
Jeremy Kao
 
被遺忘的資訊洩漏 / Information Leakage in Taiwan
被遺忘的資訊洩漏 / Information Leakage in Taiwan被遺忘的資訊洩漏 / Information Leakage in Taiwan
被遺忘的資訊洩漏 / Information Leakage in Taiwan
Shaolin Hsu
 
程式の工業革命 初稿
程式の工業革命 初稿程式の工業革命 初稿
程式の工業革命 初稿
HoShi YoRu
 
大學與​信息安全​
大學與​信息安全​大學與​信息安全​
大學與​信息安全​
Chuan Lin
 

Viewers also liked (20)

工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
 
Entity framework 入門第一課
Entity framework 入門第一課Entity framework 入門第一課
Entity framework 入門第一課
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
Salesforce ppt v07122013
Salesforce ppt v07122013Salesforce ppt v07122013
Salesforce ppt v07122013
 
Linq實戰
Linq實戰Linq實戰
Linq實戰
 
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
 
Entity framework 與 LINQ
Entity framework 與 LINQEntity framework 與 LINQ
Entity framework 與 LINQ
 
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
 
Code style 2014-07-18-pub
Code style 2014-07-18-pubCode style 2014-07-18-pub
Code style 2014-07-18-pub
 
幾個曾經 發生在數位系的小故事
幾個曾經 發生在數位系的小故事幾個曾經 發生在數位系的小故事
幾個曾經 發生在數位系的小故事
 
Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單
 
Robot framework association intro
Robot framework association   introRobot framework association   intro
Robot framework association intro
 
Design Pattern Explained CH1
Design Pattern Explained CH1Design Pattern Explained CH1
Design Pattern Explained CH1
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
 
被遺忘的資訊洩漏 / Information Leakage in Taiwan
被遺忘的資訊洩漏 / Information Leakage in Taiwan被遺忘的資訊洩漏 / Information Leakage in Taiwan
被遺忘的資訊洩漏 / Information Leakage in Taiwan
 
程式の工業革命 初稿
程式の工業革命 初稿程式の工業革命 初稿
程式の工業革命 初稿
 
大學與​信息安全​
大學與​信息安全​大學與​信息安全​
大學與​信息安全​
 
Sys Security
Sys SecuritySys Security
Sys Security
 

Similar to Entity framework + Linq 介紹

(宇宏)Talend工具說明
(宇宏)Talend工具說明(宇宏)Talend工具說明
(宇宏)Talend工具說明
Sonny Chen
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践yiditushe
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
建興 王
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
mysqlops
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTarget Source
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕ideawu
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005
洋夫 葉
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿yiditushe
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Gelis Wu
 
Network
NetworkNetwork
Network
Medivh2011
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
Miles Chou
 

Similar to Entity framework + Linq 介紹 (20)

(宇宏)Talend工具說明
(宇宏)Talend工具說明(宇宏)Talend工具說明
(宇宏)Talend工具說明
 
Exodus2 大局观
Exodus2 大局观Exodus2 大局观
Exodus2 大局观
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
 
Osgi Intro
Osgi IntroOsgi Intro
Osgi Intro
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
 
Linux chapt3
Linux chapt3Linux chapt3
Linux chapt3
 
Zabbix in PPTV
Zabbix in PPTVZabbix in PPTV
Zabbix in PPTV
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 
Network
NetworkNetwork
Network
 
Inside VCL
Inside VCLInside VCL
Inside VCL
 
Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊Rancher: 建立你的牧場艦隊
Rancher: 建立你的牧場艦隊
 
Flex开发实践经验谈(谢敏)
Flex开发实践经验谈(谢敏)Flex开发实践经验谈(谢敏)
Flex开发实践经验谈(谢敏)
 

More from Alan Tsai

初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
Alan Tsai
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
Alan Tsai
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
Alan Tsai
 
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
Alan Tsai
 
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan TsaiMicrosoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
Alan Tsai
 
2021 Net Conf Taiwan-初探 Azure Communication Service 讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service 讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
Alan Tsai
 
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Alan Tsai
 
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
Alan Tsai
 
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
 
我和阿九Azure有約 39 Azure Blob Storage 如何省錢? 設定 Access Tier 以及透過 Lifecycle Managem...
我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...
我和阿九Azure有約 39 Azure Blob Storage 如何省錢? 設定 Access Tier 以及透過 Lifecycle Managem...
Alan Tsai
 
我和阿九Azure有約 38 Azure Blob Storage 如何省錢? 搞懂Access Tier (Alan Tsai 的學習筆記)
我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)
我和阿九Azure有約 38 Azure Blob Storage 如何省錢? 搞懂Access Tier (Alan Tsai 的學習筆記)
Alan Tsai
 
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
Alan Tsai
 
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
Alan Tsai
 
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
Alan Tsai
 
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
Alan Tsai
 
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
Alan Tsai
 
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
Alan Tsai
 
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Alan Tsai
 
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
Alan Tsai
 

More from Alan Tsai (20)

初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
 
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
 
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan TsaiMicrosoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
 
2021 Net Conf Taiwan-初探 Azure Communication Service 讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service 讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
 
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
 
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
 
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
 
我和阿九Azure有約 39 Azure Blob Storage 如何省錢? 設定 Access Tier 以及透過 Lifecycle Managem...
我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...
我和阿九Azure有約 39 Azure Blob Storage 如何省錢? 設定 Access Tier 以及透過 Lifecycle Managem...
 
我和阿九Azure有約 38 Azure Blob Storage 如何省錢? 搞懂Access Tier (Alan Tsai 的學習筆記)
我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)
我和阿九Azure有約 38 Azure Blob Storage 如何省錢? 搞懂Access Tier (Alan Tsai 的學習筆記)
 
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
 
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
 
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
 
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
 
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
 
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
 
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)
 
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
 

Entity framework + Linq 介紹

Editor's Notes

  1. 圖片從:http://www.codeproject.com/Articles/363040/An-Introduction-to-Entity-Framework-for-Absolute-B
  2. <connectionStrings> <add name="BlogContext" providerName="System.Data.SqlClient" connectionString="Server=(localdb)v11.0;Database=Blogging;Integrated Security=True;"/> </connectionStrings>
  3. Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());