what's new for data advances in data access for visual studio 2008

30
What's new for Data Advances in Data Access for Visual Studio 2008 Eric Nelson Developer & Platform Group Microsoft Ltd [email protected] http://blogs.msdn.com/ericnel http://twitter.com/ericnel

Upload: james-sexton

Post on 13-Mar-2016

33 views

Category:

Documents


0 download

DESCRIPTION

What's new for Data Advances in Data Access for Visual Studio 2008. Eric Nelson Developer & Platform Group Microsoft Ltd [email protected] http://blogs.msdn.com/ericnel http://twitter.com/ericnel. Not forgetting SQL Server 2008 ( Actually I am but bare with me ...). Relational - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: What's new for Data Advances in Data Access for Visual Studio 2008

What's new for DataAdvances in Data Access for Visual Studio 2008Eric NelsonDeveloper & Platform GroupMicrosoft [email protected] http://blogs.msdn.com/ericnel http://twitter.com/ericnel

Page 2: What's new for Data Advances in Data Access for Visual Studio 2008

Not forgetting SQL Server 2008(Actually I am but bare with me...)Relational

Improved 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 designDeisgn alertsPerformance...

Page 3: What's new for Data Advances in Data Access for Visual Studio 2008

.NET 3.5 SP1 gave us...

Page 4: What's new for Data Advances in Data Access for Visual Studio 2008

Data Access over the yearsAccessing data in 2010• O

RM baby!

Page 5: What's new for Data Advances in Data Access for Visual Studio 2008

Object Relational MappingWhat 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 6: What's new for Data Advances in Data Access for Visual Studio 2008

Entity Framework

Page 7: What's new for Data Advances in Data Access for Visual Studio 2008

ADO.NET Entity FrameworkWhat 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 8: What's new for Data Advances in Data Access for Visual Studio 2008

Entity Data ModelApplication model

Mapped 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 9: What's new for Data Advances in Data Access for Visual Studio 2008

{ Creating the EDM }

demo

Page 10: What's new for Data Advances in Data Access for Visual Studio 2008

Entity Data Model Consumption

Entity ClientEntity SQL

Object ServicesEntity SQLLINQ To Entities

Page 11: What's new for Data Advances in Data Access for Visual Studio 2008

Entity ClientFamiliar ADO.NET object model:

EntityCommandEntityConnectionEntityDataReaderEntityParameterEntityTransaction

Text-based resultsRead-onlyUses Entity SQL

Page 12: What's new for Data Advances in Data Access for Visual Studio 2008

Object ServicesQueries materialized as Objects

ObjectContextObjectQuery<T>

Built on top of Entity ClientTwo query options:

Entity SQLLINQ

Runtime services:Unit of workIdentity trackingEager/explicit loading

Page 13: What's new for Data Advances in Data Access for Visual Studio 2008

Entity Framework – Service Stack

LINQ To Entities

Object Services

Entity SQL

Entity Client

ADO.NET Provider

Page 14: What's new for Data Advances in Data Access for Visual Studio 2008

{ Using LINQ to Entities }

demo

Page 15: What's new for Data Advances in Data Access for Visual Studio 2008

EF Providers in ProgressVendor DB Support

Microsoft SQL ServerOracle Sample, Generic Sample

Devart Oracle, MySQL, PostgressPhoenix SQLiteIBM DB2, Informix Dynamic ServerMySQL AB MySQLNpgsql PostgreSQLOpenLink Many via OpenLink ODBC or

JDBCDataDirect Oracle, Sybase, SQL Server,

DB2Firebird Firebird

Page 16: What's new for Data Advances in Data Access for Visual Studio 2008

LINQ to SQL vs LINQ to Entities 1/2LINQ to SQL LINQ to

EntitiesDatabase Support

SQL Server Many

Object Relational Mapping Capabilities

Simple Complex

Requires Attributed .NET Code

No Yes

Status Released Just Released

Page 17: What's new for Data Advances in Data Access for Visual Studio 2008

Similar – but not quite 2/2LINQ to SQL

var 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 18: What's new for Data Advances in Data Access for Visual Studio 2008

Data Services

Page 19: What's new for Data Advances in Data Access for Visual Studio 2008

ADO.NET Data ServicesWhat 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 accessible by any client

Page 20: What's new for Data Advances in Data Access for Visual Studio 2008

Creating Data Services

Data Access LayerEntity

Framework

Relational

database Other sources

Data Services Runtime

Hosting/HTTP Listener

Custom

Iqueryable/Ienumerable [+ IUpdatable]

HTTP

Page 21: What's new for Data Advances in Data Access for Visual Studio 2008

RESTful Web Services?

ResourcesRes 1Res 2Res 3Res 4

HTTP RequestURL

VERBPayload

HTTP ResponseStatus

GETPOSTPUT

DELETEXML JSON

Payload

XML JSON

Page 22: What's new for Data Advances in Data Access for Visual Studio 2008

Objects? what kind of objects?

Provide a type with public properties which are;

IQueryable<T>, IEnumerable<T>Also get write access if your type implements;

IUpdatableWorks well with generated code from;

ADO.NET Entity Framework (ObjectContext)LINQ to SQL (DataContext*)

Page 23: What's new for Data Advances in Data Access for Visual Studio 2008

{ Data Services }

demo

Page 24: What's new for Data Advances in Data Access for Visual Studio 2008

Conclusion

•Data Access technology remained reasonably static•Procedural, API access•Surfaced the database schema

1990 to 2007 - Tables

•LINQ – excellent addition to the .NET languages•Entity Framework and the EDM – strategic investment•Data Services – as easy as it gets?•Productivity leap

2008 – Objects

Page 25: What's new for Data Advances in Data Access for Visual Studio 2008

Resourceshttp://blogs.msdn.com/ericnel - all the linksGeneral

ADO.NET Team Blog http://blogs.msdn.com/adonetMike in our team http://www.miketaulty.com ( search Entity or LINQ )Data Platform Developer Centre http://msdn.microsoft.com/en-gb/data/default.aspx

ADO.NET Entity FrameworkEF DM http://blogs.msdn.com/dsimmons FAQ http://blogs.msdn.com/dsimmons/pages/entity-framework-faq.aspx Entity Framework Design http://blogs.msdn.com/efdesign/default.aspx

ADO.NET Data ServicesTeam blog http://blogs.msdn.com/astoriateam

Page 26: What's new for Data Advances in Data Access for Visual Studio 2008

© 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: What's new for Data Advances in Data Access for Visual Studio 2008

Appendix

Page 28: What's new for Data Advances in Data Access for Visual Studio 2008

AcronymsEDM = Entity Data ModelEF = ADO.NET Entity FrameworkESQL = Entity SQLLINQ = Language Integrated QueryCSDL = Conceptual Schema Definition LanguageSSDL = Store Schema Definition LanguageMSDL = Mapping Schema Definition LanguageLambda Syntax = customer.Select(...)Comprehension Syntax = from c in customer ...SQL = Structured Query Language

Page 29: What's new for Data Advances in Data Access for Visual Studio 2008

Entity Client

Entity Data Model

SSDL

All in one slide SQL

Oracle

Other

CSDL MSLAD

O.NE

T

Object Service

s

ESQL“select o from

orders”

LINQ to Entities

“from o in orders...”

ADO.NET Data services

Prov

ider

Prov

ider

Prov

ider

SSDLSSDL

HTTP Custom

Interceptors

(Query, Update)

Service Operations (Methods)

Entity Data Model

Page 30: What's new for Data Advances in Data Access for Visual Studio 2008

RESTful?REpresentational State Transfer

Server-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 JSONIs this “the death of SOAP”?