ado.net vnext the entity data model, object services, and linq

of 27 /27
Satisfy Your Technical Curiosity ADO.NET vNext The Entity Data Model, Object Services, and LINQ Bob Beauchemin Director of Developer Resources, SQLskills http://www.SQLskills.com/ blogs/bobb

Author: anakin

Post on 17-Jan-2016

30 views

Category:

Documents


1 download

Embed Size (px)

DESCRIPTION

ADO.NET vNext The Entity Data Model, Object Services, and LINQ. Bob Beauchemin Director of Developer Resources, SQLskills http://www.SQLskills.com/blogs/bobb. About Bob Beauchemin. Independent Consultant/Trainer/Writer/Speaker Director of Developer Resources, SQLskills - PowerPoint PPT Presentation

TRANSCRIPT

http://www.SQLskills.com/blogs/bobb
related to SQL Server and data access
A Developer's Guide to SQL Server 2005
A First Look at SQL Server 2005 for Developers
“Best Book” SQL Server Magazine’s Reader’s Choice Awards (2005)
Essential ADO.NET
In .NET Framework 3.5
A new data model
SSDL - store-specific data language
MSL - mapping data language
Hooks for provider writers
*
LINQ
EDM is a conceptual model that includes
Structural inheritance
EDM is not a 1-1 match of the relational model
Entities != Rows
Collections != Tables
Lowest level - physical storage
Index structure
Logical level
Conceptual level
*
Existing tools work at conceptual level
Report Builder - SMDL files
Replication - Transactional replication groups
*
Concepts
Associations and Association Sets
*
Conceptual Schema Definition Language
Complex types made up of simple types
Inheritance
Relationships
SSDL - Describes relational database
Basic relational query concepts +
SQL 1999 query concepts +
Polymorphic queries
Query text not programming language specific
No compile-time checking or IntelliSence
Currently query-only
*
Fetch semantics
Updates through change tracking layer
Stored procedures and functions supported
Object Services built over ADO.NET provider
*
Strong typing
LINQ enables query over
EDM (LINQ to Entities)
LINQ is programming language based
multiple types of data as input
can be extended to new input types
uses LINQ to SQL for database programming
ESQL is data model based
EDM-specific
update DML is planned
can use Object Services for database programming
Or ...
*
LINQ to SQL allows
One class per table
Relationships (1-1, 1-many, many-many)
Stored procedures or LINQ Services for inserts, updates, and deletes
EDM mapping allows
Structural inheritance and composition
Relationships as first-class types
Stored procedures on Object Services for inserts, updates, and deletes
Neither currently supports SQLCLR UDTs
*
*
IQueryable<T>
*
Can drag class definitions from Solution Explorer
Can add properties, associations, inheritance to the model
Can configure insert/update/delete procedures
Generates classes in project
SQLMetal command line tool for LINQ
*
Add ADO.NET Entity Model
Generates CSDL, SSDL, MSL
Generates classes in project
*
ADO.NET provider
Object Services
ADO.NET includes layered approach
with extensions for entities
LINQ for SQL includes straightforward relational mapping
Tight integration with programming languages
LINQ for DataSets allows queries over DataSet
*
http://www.SQLskills.com/blogs/bobb