Professional Documents
Culture Documents
NET ENTITY
FRAMEWORK
Mike Taulty
Developer & Platform Group
Microsoft UK
Mike.Taulty@microsoft.com
http://www.miketaulty.com
ORM API
Entity Provider
Conceptual Model
ObjectContext
ObjectQuery
Map
Store Model
SQL Provider
Oracle Provider
...
ORM API
Entity Provider
Conceptual Model
Map
Store Model
SQL Provider
Oracle Provider
...
LINQ to
Entities
Database
SQL Server
Many
Simple
Complex
No
Yes
Support
Object
Relational
Mapping
Capabilities
Requires
Attributed
.NET Code
DEMO
Key
Classes
Connection
Metadata
State
Managemen
t
CRUD
provide
r
CSD
L
MSL
SSD
L
DEMO
ORM API
Entity Provider
Conceptual Model
Map
Store Model
SQL Provider
Oracle Provider
...
DEMO
EF Providers in Progress
Vendor
DB Support
Microsoft
SQL Server
Core Lab
IBM
MySQL AB
MySQL
Npgsql
PostgreSQL
OpenLink
Phoenix
SQLite
DataDirect
Firebird
Firebird
Resources
New Data Developer Site
http://www.datadeveloper.net
ADO.NET Team Blog
http://blogs.msdn.com/adonet
My website
http://www.miketaulty.com ( search Entity )
ADO.NET ENTITY
FRAMEWORK
Mike Taulty
Developer & Platform Group
Microsoft UK
Mike.Taulty@microsoft.com
http://www.miketaulty.com
ADO.NET Today
App Code
ADO.NET
ProviderProviders
Specific
(PL/SQL)
SELECT * FROM
Command
Execute
SQL Server
CUSTOMERS
Oracle
Customer
s
...
DataReader
Customer
s
Customer
s
Conceptual Model
UKCustom
er
Map
UKPremiumCustomer
Customer
s
ADO.NET
Conceptual Model
Entity
Provider
Provider Agnostic
UKCustom
Command
(ESQL) er
Execute * FROM UKCUSTOMER
SELECT
UKCustom
er
UKPremiumCustomer
Providers*
SQL Server
DataReader
UKCustom
er
Oracle
...
Map
Customer
s
Entity
LINQ
Reader
relationship
Connection
Entity
Command
Mapping (MSL)
V2.0
Connection
Adapter
Command
Store
DEMO
Mapping
Type=G
ID
FirstName
LastName
Customer
s
CustomerId
First
Last
Type
Bad Customers
ID
ForeName
Surname
Entities
Type=B
Mapping
Customer
s
Entities
Customer
ID
CustomerId
FirstName
First
LastName
Last
IsPremium
Overdraft
AccountManager
PremiumCustom
er
Overdraft
AccountManager
Mapping
Entities
ClientView1
select
c.id, c.name
from
customers c
where
c.country =
UK
p_DeleteUkCustomer
p_UpdateUkCustomer
p_InsertUkCustomer
UkCustomer
CustomerId
Name
DEMO
System.Data.Entity.dll
Many Namespaces
System.Data.Entity
System.Data.Objects
...
Object Relational Mapping API can be used with
or without LINQ
DEMO