30

MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

  • Upload
    ukdpe

  • View
    3.531

  • Download
    0

Embed Size (px)

DESCRIPTION

Did you miss the opportunity to attend the MSDN Roadshow 2008? If so we are doing a Roadshow rerun giving you a second chance to attend this event. Come along if you want to find out about the latest developer tools and technologies from Microsoft. The MSDN team will focus on what’s coming up next this year for .NET developers beyond Visual Studio 2008. We will also look at Silverlight, ASP.NET, ADO.NET and other future bits which involve more code and less PowerPoint. Please be aware that the content for this rerun is exactly that covered in the other MSDN Roadshow 2008 events – so this event is aimed at Developers who could not make those earlier events. For more details and the original slide deck see http://www.microsoft.com/uk/msdn/events/new/Detail.aspx?id=351

Citation preview

Page 1: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 2: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 3: 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

Page 4: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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...

Page 5: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 6: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 7: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 8: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 9: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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...

Page 10: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 11: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 12: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

Entity ClientEntity SQL

Object ServicesEntity SQLLINQ To Entities

Page 13: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

Familiar ADO.NET object model:EntityCommandEntityConnectionEntityDataReaderEntityParameterEntityTransaction

Text-based resultsRead-onlyUses Entity SQL

Page 14: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

Queries materialized as ObjectsObjectContextObjectQuery<T>

Built on top of Entity ClientTwo query options:

Entity SQLLINQ

Runtime services:Unit of workIdentity trackingEager/explicit loading

Page 15: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

LINQ To Entities

Object Services

Entity SQL

Entity Client

ADO.NET Provider

Page 16: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 17: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 18: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 19: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 20: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 21: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 22: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 23: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 24: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 25: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 26: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

© 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.

Page 27: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 28: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services
Page 29: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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

Page 30: MSDN Roadshow Session 1 - ADO.NEXT – Entity Framework & Data Services

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”?