Transcript mtaulty.com
ADO.NET Entity Framework Mike Taulty Developer & Platform Group Microsoft Ltd [email protected] http://www.mtaulty.com ADO.NET Entity Framework Extension to the ADO.NET provider model Functionality Program against an abstracted model of your store schema Use traditional ADO.NET API or ORM/LINQ Slated to ship mid 2008 Currently at Beta 3, Tooling at CTP 2 Downloadable in ASP.NET 3.5 Extensions Preview Quick Demo to Defer Boredom Entity Framework Architecture V3.0 .NET Entity Provider (Entity SQL) Programming Model Entity Conceptual Model LINQ Reader relationship Object Relational Mapping Connection Entity Command Mapping (MSL) V2.0 .NET Data Provider Reader Connection Adapter Command Store Tools, SSDL, MSL, CSDL Programming with Entity SQL The EntityClient provides the usual Connection, Command, DataReader There is no EntityDataAdapter V1.0 the model is read-only Entity SQL has some additional constructs to expose the underlying conceptual model – e.g.; ANYELEMENT CREATEREF OVERLAPS DEREF REF IS OF ROW KEY SELECT MULTISET SET NAVIGATE TREAT USING OFTYPE Programming with Entity Client Mapping Examples ( 1 – Splitting ) Store Mapping Good Customers Type=“G” Entities Customers ID FirstName CustomerId LastName First Last Bad Customers Type ID ForeName Surname Type=“B” Mapping Examples ( 2 – TPH ) Store Mapping Entities Customers Customer ID CustomerId FirstName First LastName Last IsPremium ? Overdraft AccountManager PremiumCustomer Overdraft AccountManager * Framework also supports TPT Mapping Examples ( 3 – View + SPs ) Store Mapping Entities ClientView1 select c.id, c.name from customers c where c.country = ‘UK’ p_DeleteUkCustomer p_UpdateUkCustomer p_InsertUkCustomer UkCustomer CustomerId Name Querying with Entity SQL Programming with LINQ to Entities New Data Access ORM API implemented in assembly System.Data.Entity.dll System.Data.Entity.Design.dll Many Namespaces System.Data.Entity System.Data.Objects and many more... ORM API can be used with or without LINQ Key Classes provider Connection Metadata CSDL State Management CRUD MSL SSDL LINQ to Entities – Possible Topics Change Tracking Stored Procs Concurrency Transactions (i)POCO Inheritance Customising Code-Gen Metadata N-Tier Compiled Queries LINQ to Entities Resources Download ASP.NET 3.5 Extensions Preview http://www.asp.net ADO.NET Team Blog http://blogs.msdn.com/adonet Search for “entity” on http://mtaulty.com Updates Go here to download the latest version of this slide-deck http://mtaulty.com/downloads/dw08.zip MSDN in the UK Visit http://msdn.co.uk Newsletter Events Screencasts Blogs © 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.