Transcript mtaulty.com

ADO.NET Entity Framework
Mike Taulty
Developer & Platform Group
Microsoft Ltd
[email protected]
http://www.mtaulty.com
ADO.NET Entity Framework
Extension to the ADO.NET provider model
Functionality
Program against an abstracted model of your
store schema
Use traditional ADO.NET API or ORM/LINQ
Slated to ship mid 2008
Currently at Beta 3, Tooling at CTP 2
Downloadable in ASP.NET 3.5 Extensions Preview
Quick Demo to Defer Boredom
Entity Framework Architecture
V3.0
.NET Entity
Provider
(Entity SQL)
Programming
Model
Entity
Conceptual Model
LINQ Reader
relationship
Object Relational Mapping
Connection
Entity
Command
Mapping (MSL)
V2.0
.NET Data Provider
Reader
Connection
Adapter
Command
Store
Tools, SSDL, MSL, CSDL
Programming with Entity SQL
The EntityClient provides the usual
Connection, Command, DataReader
There is no EntityDataAdapter
V1.0 the model is read-only
Entity SQL has some additional constructs to
expose the underlying conceptual model – e.g.;
ANYELEMENT
CREATEREF
OVERLAPS
DEREF
REF
IS OF
ROW
KEY
SELECT
MULTISET
SET
NAVIGATE
TREAT
USING
OFTYPE
Programming with Entity Client
Mapping Examples ( 1 – Splitting )
Store
Mapping
Good Customers
Type=“G”
Entities
Customers
ID
FirstName
CustomerId
LastName
First
Last
Bad Customers
Type
ID
ForeName
Surname
Type=“B”
Mapping Examples ( 2 – TPH )
Store
Mapping
Entities
Customers
Customer
ID
CustomerId
FirstName
First
LastName
Last
IsPremium
?
Overdraft
AccountManager
PremiumCustomer
Overdraft
AccountManager
* Framework also supports TPT
Mapping Examples ( 3 – View + SPs )
Store
Mapping
Entities
ClientView1
select
c.id, c.name
from
customers c
where
c.country = ‘UK’
p_DeleteUkCustomer
p_UpdateUkCustomer
p_InsertUkCustomer
UkCustomer
CustomerId
Name
Querying with Entity SQL
Programming with LINQ to Entities
New Data Access ORM API implemented in
assembly
System.Data.Entity.dll
System.Data.Entity.Design.dll
Many Namespaces
System.Data.Entity
System.Data.Objects
and many more...
ORM API can be used with or without LINQ
Key Classes
provider
Connection
Metadata
CSDL
State
Management
CRUD
MSL
SSDL
LINQ to Entities – Possible Topics
Change
Tracking
Stored
Procs
Concurrency
Transactions
(i)POCO
Inheritance
Customising
Code-Gen
Metadata
N-Tier
Compiled
Queries
LINQ to Entities
Resources
Download ASP.NET 3.5 Extensions Preview
http://www.asp.net
ADO.NET Team Blog
http://blogs.msdn.com/adonet
Search for “entity” on
http://mtaulty.com
Updates
Go here to download the latest version of this
slide-deck
http://mtaulty.com/downloads/dw08.zip
MSDN in the UK
Visit http://msdn.co.uk
Newsletter
Events
Screencasts
Blogs
© 2007 Microsoft Ltd. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.