ADO.NET Entity Framework - PowerPoint PPT Presentation

About This Presentation
Title:

ADO.NET Entity Framework

Description:

A Visual Studio Designer that protects developers from the XML that is the EDM ... Collections. Complex Types. Literal Strings No Compiler Checking ... – PowerPoint PPT presentation

Number of Views:537
Avg rating:3.0/5.0
Slides: 25
Provided by: itboxingc
Learn more at: https://www.devbg.org
Category:
Tags: ado | net | entity | framework

less

Transcript and Presenter's Notes

Title: ADO.NET Entity Framework


1
ADO.NET Entity Framework
Deyan Varchev
General Manager Avaxo Ltd.
2
What Is It?
  • The ADO.NET Entity Framework is part of
    Microsofts next generation of .NET technologies.
  • It is intended to make it easier and more
    effective for object-oriented applications to
    work with data.

3
The Problem Being Addressed
  • Inherit differences between data expression in a
    relational database and the same data expressed
    in an object-oriented application.

4
The Logical Data Model
  • Almost any business application today has to
    speak to a relational database.
  • This involves the usual suspects of tables with
    foreign keys, a smattering of views, and
    generally a gob of stored procedures.

5
The Object-Oriented Domain Model
  • Applications themselves are written in a
    completely different world.
  • The same data that lives in the relational
    database is represented entirely differently in
    the application.

6
The Result
  • The result of this impedance mismatch is that
    developers devote a lot of time and energy
    writing code to translate between how the
    database likes to see data and how the
    application likes to see data.

7
Other Ways to Address The Same Problem
  • Hibernate (Java)
  • Enterprise Objects Framework (Mac OS)
  • NHibernate (.NET)
  • LINQ to SQL (Visual Studio 2008)
  • And many, many, more

8
The ADO.NET Entity Framework
  • The ADO.NET Entity Framework seeks to remedy the
    problem by providing a layer of abstraction
    between the logical data model and the
    application domain.

9
Why the Entity Model?
  • Closer to the application problem space
  • Better suited for object oriented programming
  • Supports Inheritance
  • Supports complex types
  • Relationships are more meaningful to the
    application

10
The Stuff in ADO.NET Entity Framework
  • The tools and technology that developers will
    interact with when using the ADO.NET Entity
    Framework

11
Entity Data Model
  • A gob of XML that defines
  • Logical Data Tables, Views, Foreign Keys
  • Entity Objects that Map to the Logical Data
  • The Mapping Between the Two

12
Entity Data Model Designer
  • A Visual Studio Designer that protects developers
    from the XML that is the EDM

13
ObjectContext
  • A code-generated data context created from the
    Entity Data Model
  • Responsible for managing communication between
    the conceptual data model and the logical data
    model

14
Entities
  • Code-generated class definitions for objects
    defined in the EDM.

15
Getting the Data Out
  • How do we get data out of the fancy Entity Data
    Model?

16
eSQL (Entity SQL)
  • A brand new SQL language to learn
  • Leverages the rich, object-oriented Entity Data
    Model
  • Inheritance
  • Collections
  • Complex Types
  • Literal Strings No Compiler Checking
  • Questionable value in embedded SQL in code

17
Extensions Methods and String Predicates
  • Queries the object model created against the EDM
  • Still string-based. No compiler checking
  • An ugly mix of code and eSQL statements

18
LINQ to Entities
  • Full compiler checking. No wondering if the
    query is valid.
  • A fun new SQL-Like syntax
  • More OO-ish

19
What Can You Do?
  • The power of the Entity Data Model contrasted to
    a logical data model of tables and stored
    procedures.

20
Combine Multiple Logical Tables into One Entity
  • Database Tables
  • Entity Data Model

21
Implement Inheritance
  • Database Tables
  • Entity Data Model

22
Other Fun Stuff
  • Implement Complex Types (e.g. Address)
  • Consume Conceptual Model with Reporting Services
    and other BI Tools
  • Create an EDM that talks to stored procedures
  • Use transactions, manage concurrency, cache
    execution plans

23
Manipulate Data By Manipulating Objects
Database Result Desired EDM Object Manipulation
INSERT ROW Create new object Add object to EDM Context Update Context
DELETE ROW Get instance of object from EDM Context Ask Context to remove the object Update Context
UPDATE ROW Get instance of object from EDM Context Update object Update Context
24
Lecture Topic
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com