+ All Categories
Home > Documents > Advances for Data in VS “Orcas”

Advances for Data in VS “Orcas”

Date post: 06-Feb-2016
Category:
Upload: ivan
View: 46 times
Download: 0 times
Share this document with a friend
Description:
Advances for Data in VS “Orcas”. Mike Taulty Developer & Platform Group Microsoft Ltd [email protected] http://www.mtaulty.com. Earlier that day. Object. Object. Object. Object. from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr ( into itemName ) ? - PowerPoint PPT Presentation
30
The Microsoft Technical Roadshow 2007 Advances for Data in VS “Orcas” Mike Taulty Developer & Platform Group Microsoft Ltd [email protected] http://www.mtaulty.com
Transcript
Page 1: Advances for Data in VS “Orcas”

The Microsoft

Technical Roadshow 2007

Advances for Data in VS “Orcas”

Mike TaultyDeveloper & Platform GroupMicrosoft [email protected] http://www.mtaulty.com

Page 2: Advances for Data in VS “Orcas”

Earlier that day....

ObjectObject

ObjectObject

from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr

(into itemName)?let itemName = selExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExprgroup selExpr by keyExpr into itemName query-body

Page 3: Advances for Data in VS “Orcas”

IEnumerable<T>?

ObjectObject

ObjectObject

from itemName in srcExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExpr...

where ObjectObject

ObjectObjectorderby

select Object

Page 4: Advances for Data in VS “Orcas”

IQueryable<T>?

ObjectObject

ObjectObject

from itemName in srcExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExpr...

where

whereorderby

whereorderby

select

ObjectObject

ObjectObject

Object

Page 5: Advances for Data in VS “Orcas”

IEnumerable vs IQueryable

Page 6: Advances for Data in VS “Orcas”

Agenda”Would you like LINQ with that?”

LINQ

Objects

XML SQL

DataSet

1 2

3

Page 7: Advances for Data in VS “Orcas”

LINQ Pattern from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr

(into itemName)?let itemName = selExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExprgroup selExpr by keyExpr into itemName query-body

New XML API

LINQ over XML1

Page 8: Advances for Data in VS “Orcas”

System.Xml.XLinq

New XML API (more DOM than reader)Key classes: XElement, XAttribute

Page 9: Advances for Data in VS “Orcas”

LINQ over XML

Page 10: Advances for Data in VS “Orcas”

LINQ Pattern from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr

(into itemName)?let itemName = selExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExprgroup selExpr by keyExpr into itemName query-body

Object Relational Mapping API

Code Gen Tools

LINQ to SQL2

Page 11: Advances for Data in VS “Orcas”

System.Data.Dlinq – Data API

Page 12: Advances for Data in VS “Orcas”

DataContext, Table & Friends

Page 13: Advances for Data in VS “Orcas”

But what about?

IdentityRelationshipsInsert, Update, DeleteConstraintsGenerated columnsTransactions

Stored Procedures, Views, FunctionsDeferred LoadingInheritanceConcurrencyModifications without query

e.g. N-Tier updates

Page 14: Advances for Data in VS “Orcas”

More detail but no updates yet...

Page 15: Advances for Data in VS “Orcas”

Identity Management

SQL

My Process

Identity Management

Row ID = 58, Colour=Red

Query Id=58

UpdateId=58,

Colour=Blue

QueryId=58

ObjectId=58,

Colour = Red OriginalObjectId=58,

Colour = Blue Current

Page 16: Advances for Data in VS “Orcas”

Change Tracking (1)

SQL

DataContext.SubmitChanges()

Compare & Generate SQL

My Process

Change TrackingObjectId=58,

Colour = Red OriginalObjectId=58,

Colour = Blue Current

Page 17: Advances for Data in VS “Orcas”

Change Tracking (2)

SQL

My Process

Change Tracking

UpdateId=58,

Colour=Blue

ObjectId=58,

Colour = Red OriginalObjectId=58,

Colour = Blue Current

Fire PropertyChanged

Notification!

Page 18: Advances for Data in VS “Orcas”

Change Tracking (3)

SQL

DataContext.SubmitChanges()

My Process

Change TrackingObjectId=58,

Colour = Blue Current

Generate SQL from List of Changes

Page 19: Advances for Data in VS “Orcas”

Updates, Transactions...

Page 20: Advances for Data in VS “Orcas”

FirstName LastName Age Height

Fred Smith 55 1.2

Jim Jones 22 1.3

John Doe 43 1.4

Jo Blogs 17 1.5

LINQ Pattern from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr

(into itemName)?let itemName = selExprwhere predExprorderby (keyExpr (ascending | descending)?)*select selExprgroup selExpr by keyExpr into itemName query-body

DataSet/DataTable

LINQ to DataSet3

Page 21: Advances for Data in VS “Orcas”

Linq to DataSet

Existing DataTable already has some query capabilities

LINQ syntax extends to DataSet to apply the same model for querying

Page 22: Advances for Data in VS “Orcas”

LINQ to DataSet

Page 23: Advances for Data in VS “Orcas”

Putting a few things together

Page 24: Advances for Data in VS “Orcas”

Awareness:ADO.NET Entity Framework

Page 25: Advances for Data in VS “Orcas”

Conceptual Models

Conceptual Design(Entities & Relationships)

Customer Order

SalesPerson

places

sells

Application(Entities & Relationships)

Page 26: Advances for Data in VS “Orcas”

Relational Models

Application(Entities & Relationships)

relational schema(normalised, tables, keys)

SP's

Views

Fn's

Mapping LogicConceptual<->Relational

Application(Entities & Relationships)

SP's

Views

Fn's

Mapping LogicConceptual<->Relational

Application(Entities & Relationships)

SP's

Views

Fn's

Mapping LogicConceptual<->Relational

Page 27: Advances for Data in VS “Orcas”

ADO.NETMapping Provider

Entity SQL

Object Services(Inheritance & Complex Types)

ADO.NETDatabase Provider(e.g. SqlProvider)

SQL

Application(Entities & Relationships)

LINQ Syntax

ConceptualSchema(XML)

MappingSchema(XML)

StoreSchema(XML)

ADO.NET Entity Framework

Page 28: Advances for Data in VS “Orcas”

Do Try This At Home But...

This Talk Was Brought To You By;

The LINQ May CTPThe ADO.NET V.Next August CTP

Concepts have not changedLater CTPs have slightly altered syntaxMy CTP lacked IntelliSense

In the later builds

Page 29: Advances for Data in VS “Orcas”

Summary

Powerful, intuitive LINQ patternOne "syntax" to learnRelational, hierarchical, object dataUnderpinned by new or existing API's

For Relational DataLINQ to SQL

– ORM over database schema

LINQ to Entities and the Entity Framework– ORM over conceptual model

Page 30: Advances for Data in VS “Orcas”

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

roadshowresources.com


Recommended