MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
-
Upload
ukdpe -
Category
Technology
-
view
3.535 -
download
0
description
Transcript of MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Eric NelsonDeveloper & Platform GroupMicrosoft [email protected] http://blogs.msdn.com/ericnel http://twitter.com/ericnel
RelationalImproved
XMLUDTs
NewFilestreamHierarchy IDDate & TimeSpatial dataSparse columns and wide tablesFiltered indexesChange trackingTable parameters to SP callsResource governorSP control and monitoringDatabase compressionDeclarative management...
SQL Server Integration Services
VSTA replaces VSAADO.NETPerformanceMerge...
Reporting Services“IIS free”TablixNew designer...
BICube designDesign alertsPerformance...
What is it?Technique for working with relational tables as if they were objects in memoryIntention is to hide away the complexity of the underlying tables and give a uniform way of working with data
Why use it?ProductivityRetain database independence
NotesThere are many ORMs for .NET developers already in existence. E.g.
LLBLGen Pro http://www.llblgen.com/Nhibernate http://www.hibernate.org/343.htmlEntitySpaces http://www.entityspaces.net/Portal/Default.aspx
Objects vs Classes vs Entities
What is it?Tools and services to create an Entity Data Model
EDM gives ORM to SQL Server, Oracle, DB2 etcTools and services for consuming an Entity Data Model
Why use it?ProductivityComplex mapping between entities and database tablesWorks great with ADO.NET Data Services
NotesStrategic but just released...
Application modelMapped to a persistence store
Comprised of three layers:Conceptual (CSDL)Mapping (MSL)Storage (SSDL)
Database agnosticComprised of:
EntitiesAssociationsFunctions
Conceptual
Mapping
Storage
Entity Data Model
Entity ClientEntity SQL
Object ServicesEntity SQLLINQ To Entities
Familiar ADO.NET object model:EntityCommandEntityConnectionEntityDataReaderEntityParameterEntityTransaction
Text-based resultsRead-onlyUses Entity SQL
Queries materialized as ObjectsObjectContextObjectQuery<T>
Built on top of Entity ClientTwo query options:
Entity SQLLINQ
Runtime services:Unit of workIdentity trackingEager/explicit loading
LINQ To Entities
Object Services
Entity SQL
Entity Client
ADO.NET Provider
Vendor DB SupportMicrosoft SQL Server
Oracle Sample, Generic SampleDevart Oracle, MySQL, PostgressPhoenix SQLiteSybase SQLAnywhereNpgsql PostgreSQLIBM DB2, Informix Dynamic ServerMySQL AB MySQLOpenLink Many via OpenLink ODBC or
JDBCDataDirect Oracle, Sybase, SQL Server,
DB2Firebird Firebird
LINQ to SQL LINQ to Entities
Database Support
SQL Server Many
Object Relational Mapping Capabilities
Simple Complex
Requires Attributed .NET Code
No Yes
Status Released Just Released
LINQ to SQLvar products = from prod in db.Product where prod.Color == "Blue" select prod;
LINQ to Entitiesvar products = from prod in db.Product where prod.Color == "Blue" select prod;
In general – LINQ to Entities does more – but not always!Only migration that will ever happen is LINQ to SQL migration to LINQ to Entities
What is it?HTTP access to an object model exposed as RESTful Web ServicesData and/or methodsData returned using ATOM or JSONRead/Write
Why use it?Easy to expose data over the internet/intranet accessible by any client
Data Access LayerData Access LayerEntity Entity
FrameworkFramework
Relational
database Other sources
Data Services RuntimeData Services Runtime
Hosting/HTTP ListenerHosting/HTTP Listener
CustomCustom
IQueryable/IEnumerableIQueryable/IEnumerable [+ IUpdatable][+ IUpdatable]
HTTPHTTP
http://blogs.msdn.com/UKDevEvents
Post event resources for all Microsoft UK developer focused sessions
The teamEric Nelson http://blogs.msdn.com/ericnel Mike Ormond http://blogs.msdn.com/mikeormond Mike Taulty http://mtaulty.com
© 2008 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.
Entity Entity ClientClient
Entity Entity Data Data ModelModel
SSDLSSDL
SQLSQL
OraclOraclee
OtherOther
CSDLCSDL MSLMSL
Object Object ServiceService
ss
ESQLESQL““select o from select o from
orders”orders”
LINQ to LINQ to EntitiesEntities
““from o in from o in orders...”orders...”
ADO.NET Data ADO.NET Data servicesservices
Prov
ider
Prov
ider
Prov
ider
Prov
ider
Prov
ider
Prov
ider
SSDLSSDL
SSDLSSDL
HTTPHTTP CustomCustom
InterceptorInterceptorss
(Query, (Query, Update)Update)
Service Service Operations Operations (Methods)(Methods)
Entity Entity Data Data ModelModel
REpresentational State TransferServer-side resources identified by a URIAccess is over HTTP, verb tied to action
GET to read the value of a resourcePOST to create a new resourcePUT to update an existing resourceDELETE to delete a resource
Returned data is “plain” – XML or JSON
Is this “the death of SOAP”?