1. Scalability
  2. Distributed nature
  3. EDM
    1. Object services
      1. support different programming languages
      2. object state manager
        1. cache states
        2. Track changes
      3. abstract data entity as objects
    2. Mapping
      1. Schema definition
        1. Types
          1. Inheritence
      2. Automatic association operations (conceptual advantage)
      3. Type checking before runtime
    3. Conceptual and Logical
      1. More robust remote database access
      2. Abstract problem in conceptual level
    4. Data Service
      1. Access as a web service
      2. Operations
        1. Query
        2. Update
  4. The conventional database programming problem
    1. Typing
    2. Static typing
    3. Interface styles
    4. Optimization
    5. Reuse
    6. Concurrency
  5. DataSet
    1. Contains
      1. Tables
      2. Relationship
      3. Constraints
    2. Flexibility of disconnected operations
      1. SourceVersion values
        1. Current
        2. Original
        3. Default
      2. Data source states
        1. Prevent changes
        2. Missing Schema Action
        3. Events
      3. Strongly type
        1. Using XSD schema
        2. Change variable names
      4. Table View
    3. XML
      1. XSLT transformation
      2. Access dataset as xml document
  6. LinQ
    1. To SQL
    2. To Entity
      1. Prevent changes from developers
      2. ORM 1:1 solution
    3. Partial class method
  7. Security
  8. Performance
    1. EDM
      1. Improvement on EDM queries
        1. Precompile queries
        2. Turn on or off state tracking
        3. Tuning performance by using paging
      2. Analysis
  9. Asynchronous database execution