Start Thinking with ADO NET 3 5
Document Sample


Start Thinking with
ADO.NET 3.5
Gil Fink
Senior Developer and Consultant
September 12 1
Agenda
Background
Entity Framework
ADO.NET Data Services
Datasets Enhancements
Summary
September 12 2
The story so far…
The “Impedance Mismatch”
Relational Objects
Database
September 12 3
ADO.NET 2.0 Example
No Compiler
Checks
No Code
Intellisence
Untyped Results
4
Solution
Next generation data access:
– ADO.NET Entity Framework
– ADO.NET Data Services
– Datasets Enhancements
– LINQ to SQL
– Data Access Application
Block 4.0 not covered
– And more
5
Agenda
Background
Entity Framework
ADO.NET Data Services
Datasets Enhancements
Summary
September 12 6
Entity Framework Introduction
Data access framework
Supports data-centric applications and
services
Enables programming against a conceptual
application model
Enables independency of any data storage
engine or relational schema
7
Entity Framework First
Glimpse
September 12 8
Entity Framework Architecture
LINQ To Entities Object Query
Object Services
Entity SQL
Entity Client
Entity Framework Layers
Conceptual CSDL
Mapping MSL
Logical SSDL
9 Relational
Model, Mapping and Objects
Business Entities
Entity Framework Layers
Entity Entity Entity CSDL
Conceptual
Mapping MSL
Table Table Table Table
Logical SSDL
Relational
10 Data
Model, Mapping and Objects
Example
Querying and Updating Data
Query and update the Object Model by
– Using the EntityClient Provider
– Using ObjectQuery<T> and E-SQL to create
objects
– Using the generated container
– Using LINQ to Entities
Stored procedures support
12
Querying and Updating Data
Example
Agenda
Background
Entity Framework
ADO.NET Data Services
Datasets Enhancements
Summary
September 12 14
Why ADO.NET Data Services at All?
HTML + Javascript DLL + XAML Mashup UI
Data (XML, etc) Data (XML, etc) Data (XML, etc)
Data
Feeds
AJAX Silverlight Online Mashups
Applications Applications Services
September 12 15
RESTful in a Nutshell
REpresentational State Transfer
The web is a graph of linked resources
Resources are identified by URI’s
Access is over HTTP, verb tied to action
– GET to fetch the value of a resource
– POST to create a new resource
– PUT to update an existing resource
– DELETE to delete a resource
REST is an architectural style
September 12 16
RESTful Interface for Data
September 12 17
How Does it Work?
Hosting / HTTP Listener
HTTP
Data Service Runtime
IQueryable [+IUpdatable]
Data Access Layer
Entity Framework LINQ Provider
Relational Data Other Sources
September 12 18
Creating a Data Service
Create services directly from Visual Studio
Various data sources
– Entity Framework
– Custom LINQ providers
Model-driven
– Structural description in Entity Data Model
– Schema shapes the service contract
September 12 19
Creating a Data Service
Demo
September 12 20
Consuming a Data service
An HTTP stack is enough
AtomPub / JSON clients
Services offer metadata
– MyService.svc/$metadata
.NET Framework & Silverlight 2.0
– LINQ to Data Services
AJAX Client Library (on CodePlex)
September 12 21
Building .NET Client
Demo
September 12 22
Agenda
Background
Entity Framework
ADO.NET Data Services
Datasets Enhancements
Summary
September 12 23
Datasets in a Nutshell
Store data in a disconnected cache
Structure resemble a relational database
Exposes
– Hierarchical object model of tables, rows, and
columns
– Constraints and relationships
Widespread use
September 12 24
Datasets Enhancements
LINQ To Datasets
Hierarchical updates using
TableAdapterManager
Separate Datasets and TableAdapters into
different projects
Service reference doesn’t create another
definition of the Dataset
September 12 25
Datasets Enhancements
Example
September 12 26
Agenda
Background
Entity Framework
ADO.NET Data Services
Datasets Enhancements
Summary
September 12 27
Summary
ADO.NET 3.5 brings massive changes to
data access area
A leap of faith is needed for some of the
new technologies
A lot to be expected in the near future
– Offline support for Data Services
– EF convention over configuration
– And more
September 12 28
Resources
ADO.NET Team Blog
http://blogs.msdn.com/adonet
ADO.NET Data Services Team:
http://blogs.msdn.com/astoriateam
Data Developer Center:
– http://msdn.microsoft.com/data
My Blog:
– http://blogs.microsoft.co.il/blogs/gilf
September 12 29
Any Questions?
September 12 30
Thank You
Gil Fink
Senior Developer and Consultant
gilf@srl.co.il
September 12 31
Get documents about "