What’s Coming in 2008 for ADO.NET Data AccessMike TaultyDeveloper & Platform GroupMicrosoft [email protected]://www.mtaulty.com
Agenda
ADO.NET Entity FrameworkCurrently at Beta 3Graphical tooling for VS 2008 at 2nd preview
ADO.NET Data ServicesCurrently at December CTP
Both in the ASP.NET 3.5 Extensions PreviewEF releases 1st half of 2008
Entity Framework
ADO.NET Entity Framework
Extends existing ADO.NET modelAdds additional capabilities
Abstraction from the underlying store schemaAbstraction from the underlying SQL dialect
Store
.NET Provider
ADO .NET V2.0
.NET Entity Provider (Entity SQL)
Command
ConnectionReader
V3.0
ADO.NET Entity Framework
Store
.NET Data Provider
V2.0
Command
ConnectionReader
Adapter
V3.0
Conceptual Model
Entity Entityrelationship
Mapping (MSL)
V3.0Programming Model
Object Relational Mapping
LINQ
ADO.NET Entity Framework
“Schema independence”“Store independence”Higher level constructs
RelationshipsInheritanceComposite Entities
Store
.NET Provider
V2.0
Conceptual Model
.NET Provider(EntitySQL)
ORM & LINQ
V3.0
Map
ping
ADO.NET Entity Framework
Data Services
Data Services
Exposes data over a RESTful web service interface
Entity Framework dataLINQ to SQL dataAny IQueryable data
Server-side is built with Windows Communication Foundation
Returns Atom Publishing Protocol (APP) or JSONClient-side libraries for .NET and AJAX
RESTful?
REpresentational State TransferIn a nutshell;
Server-side resources identified by a URIAccess is over HTTP, verb tied to action
– GET to read the value of a resource– POST to create a new resource*– PUT to update an existing resource*– DELETE to delete a resource
Returned data is “plain” – XML or JSON
Data Services - Querying
General Pattern
EntitySet
Key
Navigation Property
http://.../<EntitySet>[(<Key>)[/<NavigationProperty>[(<Key>)/...]]]
http://.../Customers
http://.../Customers(‘ALFKI’)
http://.../Customers(‘ALFKI’)/Orders
Data Services - Querying
Query string parameters;expand
orderby
skip
top
filter
http://.../Customers(‘ALFKI’)?$expand=Orders
http://.../Customers?$orderby=Country
http://.../Customers?$orderby=Country&$skip=10
http://.../Customers?$orderby=Country&$top=10
http://.../Customers?$filter=City eq ‘London’
Data Services – Other Features
Service OperationsExpose more advanced functionality
Query InterceptorsHook into requests for resources and run custom logic
Update InterceptorsHook into modifications for resources and run custom logic
ADO.NET Data Services
MSDN in the UK
Visit http://msdn.co.uk NewsletterEventsScreencastsBlogs
© 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.