使用 Entity Framework 快速打造關聯式資料庫存取應用程式
3 Layer
什麼是ORM
為什麼要用ORM?
ORM Solution
支援多種關聯性資料庫
SQL Server
SQL Compact Edtion
MySQL
Maria
SQLite
DB2
PostgreSQL
Oracle
Entity Framework(Open Source)
Open Source
Dapper
$/Internal Training/ADO.NET/DapperReadAS400
NHibernate
LINQ to SQL
實作
Nuget
EntityFramework
System.Linq.Dynamic
Telerik_UI_for_ASP.NET_AJAX
THS.ComponentModel
分層實作方式
從使用者需求的角度切入
高層模組依賴抽像
實作抽像
Shift+Alt+F10
Linq的延遲執行與立即執行
使用SQL Profiler觀察Server Control的行為是否符合預期
多人同時開發同一個作業流程,類別名稱重複,使用partial class
partial class必須要在同一個命名空間
SQL 裡的Default Value
若資料欄位為必填,但又有設定Default Value,必須要讓
Metadata
擴充工具所產生出來的類別
在partial 類別加上,[MetadataType(typeof(PersonMetaData))]
AutoMapper
$/Internal Training/AutoMapper/AutoMapperUnitTestProject
ViewModel
針對UI設計
檢查欄位
Model Mapping
IEnumerable vs IQueryable
POCO 與一般類別差異之處
例外
不要太早寫catch
邏輯問題
流程問題
不是所有的例外都catch的到
應用程式等級的例外
低層模組,不要隨便 throw ex
物件導向的世界,大的很小,小的很大
捕捉正確的例外
Elmah