ado.net entity framework devdays

of 29 /29

Author: ukdpe

Post on 22-May-2015

4.159 views

Category:

Technology


3 download

Embed Size (px)

DESCRIPTION

ADO.NET Entity Framework DevDays

TRANSCRIPT

  • 1.

2. ADO.NET ENTITY FRAMEWORK

  • Mike Taulty
  • Developer & Platform Group
  • Microsoft UK
  • [email_address]
  • http://www.miketaulty.com

3. Entity Framework Key Facts

  • Extension to the ADO.NET Provider Model
    • Pluggable to support any database
  • Functionality
    • Abstracts a model from your store schema
    • Offers Object Relational Mapping/LINQ and ADO.NET APIs
  • Status
    • Coming in Visual Studio 2008 Sp1, Summer 2008
    • Currently in VS 2008 Sp1 Beta 1
      • 3 previous independent betas

4. ADO.NET Entity Framework SQL Provider Oracle Provider ... Entity Provider Conceptual Model Store Model Map ADO.NET API ORM API Connection Command DataReader ObjectContext ObjectQuery 5. ADO.NET Entity Framework SQL Provider Oracle Provider ... ADO.NET API Entity Provider Conceptual Model Store Model Map ORM API 6. LINQ to SQL? LINQ to Entities? LINQ to SQL LINQ to Entities Database Support SQL Server Many Object Relational Mapping Capabilities Simple Complex Requires Attributed .NET Code No Yes Status Released Beta 7. DEMO

  • Programming Entity Framework with LINQ

8. Key Classes State Management Connection provider Metadata MSL SSDL CSDL CRUD 9. LINQ to Entities Lots of Topics 10. ADO.NET Entity Framework SQL Provider Oracle Provider ... ADO.NET API ORM API Entity Provider Conceptual Model Store Model Map 11. DEMO

  • Manipulating our Conceptual Model

12. ADO.NET Entity Framework SQL Provider Oracle Provider ... ORM API Entity Provider Conceptual Model Store Model Map ADO.NET API 13. DEMO

  • Programming with Entity SQL and ADO.NET

14. EF Providers in Progress Vendor DB Support Microsoft SQL Server Core Lab Oracle, MySQL, PostgreSQL, SQLite IBM DB2, Informix Dynamic Server MySQL AB MySQL Npgsql PostgreSQL OpenLink Many via OpenLink ODBC or JDBC Phoenix SQLite DataDirect Oracle, Sybase, SQL Server, DB2 Firebird Firebird 15. Resources

  • New Data Developer Site
    • http://www.datadeveloper.net
  • ADO.NET Team Blog
    • http://blogs.msdn.com/adonet
  • My website
    • http://www.miketaulty.com( search Entity )

16. ADO.NET ENTITY FRAMEWORK

  • Mike Taulty
  • Developer & Platform Group
  • Microsoft UK
  • [email_address]
  • http://www.miketaulty.com

17. 18. ADO.NET Today App Code Customers ADO.NET Providers SQL Server Oracle ... DataReader Customers Oracle Command Execute Provider Specific (PL/SQL) SELECT * FROM CUSTOMERS Customers 19. ADO.NET Entity Framework Customers Conceptual Model UKCustomer UKPremiumCustomer Map 20. ADO.NET Entity Framework App Code Customers ADO.NET Providers* SQL Server Oracle ... Oracle Entity Provider DataReader UKCustomer Command Execute Conceptual Model UKCustomer UKPremiumCustomer Map Provider Agnostic (ESQL) SELECT * FROM UKCUSTOMER UKCustomer 21. ADO.NET Entity Framework .NET Entity Provider (Entity SQL) Command Connection Reader EF Store .NET Data Provider V2.0 Command Connection Reader Adapter EF Conceptual Model Entity Entity relationship Store Model (SSDL) Entity Data Model (CSDL) Mapping (MSL) EF Programming Model Object Relational Mapping LINQ 22. 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

23. DEMO

  • Programming with Entity SQL

24. Mapping Examples ( 1 Splitting ) Mapping Type=G Type=B Store Good Customers ID FirstName LastName Bad Customers ID ForeName Surname Customers CustomerId First Last Type Entities 25. Mapping Examples ( 2 TPH ) Store Entities Mapping PremiumCustomer Overdraft AccountManager * Framework also supports TPT Customer CustomerId First Last Customers ID FirstName LastName IsPremium Overdraft AccountManager ? 26. Mapping Examples ( 3 View + SPs ) Store Entities Mapping ClientView1 selectc.id, c.name fromcustomers c wherec.country = UK p_DeleteUkCustomer p_UpdateUkCustomer p_InsertUkCustomer UkCustomer CustomerId Name 27. DEMO

  • Querying Different Models with Entity SQL

28. Programming with LINQ to Entities

  • New Data Access ORM API implemented in assembly
    • System.Data.Entity.dll
  • Many Namespaces
    • System.Data.Entity
    • System.Data.Objects
    • ...
  • Object Relational Mapping API can be used with or without LINQ

29. DEMO

  • Programming with LINQ to Entities