Download presentation
Presentation is loading. Please wait.
Published byRichard McCulloch Modified over 11 years ago
1
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
2
Satisfy Your Technical Curiosity About Bob Beauchemin Independent Consultant/Trainer/Writer/Speaker Director of Developer Resources, SQLskills Website: http://www.SQLskills.comwww.SQLskills.com Blog: http://www.SQLskills.com/blogs/bobbhttp://www.SQLskills.com/blogs/bobb SQL Server MVP Author of books and numerous resources 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 Magazines Readers Choice Awards (2005) Essential ADO.NET
3
Satisfy Your Technical Curiosity Overview What IS in vNext? The Entity Data Model Entity Provider Entity SQL Object Services LINQ for Entities LINQ for SQL LINQ for DataSet
4
Satisfy Your Technical Curiosity What is ADO.NET vNext? A part of Visual Studio Orcas release In.NET Framework 3.5 Changes to languages VB 9.0 C# 3.0 CTP available now
5
Satisfy Your Technical Curiosity What IS in ADO.NET vNext? A new data model Entity Data Model Three XML Schemas for defining and mapping CSDL - conceptual data language (DDL for EDM) SSDL - store-specific data language MSL - mapping data language A set of Object Services An ADO.NET data provider (EntityProvider) Hooks for provider writers EDM not restricted to SQL Server
6
Satisfy Your Technical Curiosity What IS in Orcas? Two new data access languages LINQ Entity SQL (ESQL) Implementations for databases LINQ to SQL LINQ to Entities...and the ADO.NET DataSet LINQ to DataSet
7
Satisfy Your Technical Curiosity Entity Data Model Applications model in terms of entities EDM is a conceptual model that includes Structural inheritance Composition Relationships as first class types EDM is not a 1-1 match of the relational model Entities != Rows Collections != Tables
8
Satisfy Your Technical Curiosity Views of Data Views of data are layered Lowest level - physical storage Filegroups Exact layout of rows on disk Index structure Relational apps unaware of this level Logical level Tables, Keys, Column Constraints PK/FK constructs, "Join tables" Relational modeling works at this level Conceptual level Entities and relationships EDM modeling works at this level
9
Satisfy Your Technical Curiosity Uses of the Conceptual Level Existing tools work at conceptual level Report Builder - SMDL files Replication - Transactional replication groups UDM - Data Source Views in Analysis Services Each tool uses a slightly different model EDM could be used to consolidate models
10
Satisfy Your Technical Curiosity Entity Data Model Borrows from Relational and E-R models Borrows from UML and object models Concepts Entity Types and Entity Sets Associations and Association Sets Complex types Structural Inheritance Collections Entity SQL to query against EDM sets
11
Satisfy Your Technical Curiosity EDM Description Language EDM is a model Not a physical implementation EDM is described in CSDL Conceptual Schema Definition Language An XML-based grammar Defines model in terms of Complex types made up of simple types Inheritance Relationships EDM model is mapped to RDBMS SSDL - Describes relational database MDL - Maps
12
Satisfy Your Technical Curiosity Entity SQL Language Entity SQL - query language for EDM Basic relational query concepts + SQL 1999 query concepts + Retrieval as tuples or types Polymorphic queries Support for relationships Entity SQL is a textual query language Query text not programming language specific No compile-time checking or IntelliSence Currently query-only Update through Object Services Update through ESQL in future
13
Satisfy Your Technical Curiosity Object Services Object Services provides services for EDM Fetch semantics Lazy loading option Change tracking Identity management Updatability Transaction support Object Services uses ESQL to query Updates through change tracking layer Stored procedures and functions supported Object Services built over ADO.NET provider
14
Satisfy Your Technical Curiosity EntityProvider ADO.NET provider for EDM "Native store" is EDM "Native language" is ESQL Provider support useful for Integration with existing tools Familiarity for ADO.NET programmers
15
Satisfy Your Technical Curiosity Wither LINQ? LINQ is language integrated query Strong typing IntelliSense Anonymous types that represent projections LINQ enables query over Object collections XML (LINQ to XML) Relational Databases (LINQ to SQL) ADO.NET DataSet (LINQ to DataSet) EDM (LINQ to Entities)
16
Satisfy Your Technical Curiosity LINQ and ESQL Why are there two query languages? 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 an extension to the SQL language update DML is planned integration with DB-centric tools planned can use Object Services for database programming Or... You can use LINQ to Entities for database programming
17
Satisfy Your Technical Curiosity LINQ to SQL and EDM LINQ to SQL allows Object model based on relational model One class per table Relationships (1-1, 1-many, many-many) Inheritance not related to persistence Stored procedures or LINQ Services for inserts, updates, and deletes EDM mapping allows Entity model independent of relational model Structural inheritance and composition Relationships as first-class types Stored procedures on Object Services for inserts, updates, and deletes Neither currently supports SQLCLR UDTs
18
Satisfy Your Technical Curiosity Object Services EDM is the only "data store" ESQL is the only programming language ADO.NET provider writers can include support for EDM in providers
19
Satisfy Your Technical Curiosity LINQ Services LINQ Services useable with LINQ to Entities LINQ to SQL LINQ to DataSet XML data Model is similar for all types IQueryable Operations can be expanded with user- defined constructs in code
20
Satisfy Your Technical Curiosity LINQ Tool Support In Visual Studio Orcas Mar CTP Add LINQ to SQL file (dbml) Can drag tables from Server Explorer 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 LINQ - database table DDL generation from dbml No relationships or constraints in generated DDL SQLMetal command line tool for LINQ
21
Satisfy Your Technical Curiosity EDM Tool Support In Visual Studio Orcas Mar CTP Add ADO.NET Entity Model Can add tables from the database Generates CSDL, SSDL, MSL Generates classes in project Can customize using schema-guided XML editor EDMGen command line tool for EDM
22
Satisfy Your Technical Curiosity Summary ADO.NET vNext added support for EDM ADO.NET provider Object Services ESQL and LINQ for Entities ADO.NET includes layered approach Rich object model Coexistence with familiar ADO.NET model with extensions for entities Object Services for insert/update/delete, transactions LINQ for SQL includes straightforward relational mapping Tight integration with programming languages LINQ for DataSets allows queries over DataSet
23
Satisfy Your Technical Curiosity
24
Resources The LINQ project http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx ADO.NET - Making the Conceptual Level Real http://msdn2.microsoft.com/en-us/library/aa730866(VS.80).aspx Visual Studio Orcas Forums http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=153&SiteID=1 ADO.NET Team Blog http://blogs.msdn.com/adonet Data Blog http://blogs.msdn.com/data Dinesh's Cyberstation http://blogs.msdn.com/dinesh.kulkarni mikechampion's weblog http://blogs.msdn.com/mikechampion Oakleaf Systems http://oakleafblog.blogspot.com Panopticon Central http://www.panopticoncentral.net Paul Gielens Thoughts Service http://weblogs.asp.net/pgielens System.Data.Objects dev guy http://blogs.msdn.com/dsimmons Tim Mallalieu's Blog http://blogs.msdn.com/timmall Bob Beauchemin's Blog http://www.SQLskills.com/blogs/bob
25
Satisfy Your Technical Curiosity
26
ADO.NET vNext The Entity Data Model, Object Services, and LINQ Bob Beauchemin Director of Developer Resources, SQLskills http://www.SQLskills.com/blogs/bobb
27
Satisfy Your Technical Curiosity
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.