course

Class is guaranteed to run NL/EN
This training is available in Dutch and English. More information

Data Access with Entity Framework

Develop Data Access Applications using Microsoft Visual Studio and Entity framework

March 10, 2025
- Utrecht / Remote
3 days
2070 (excl. VAT)

Description

In this training you will learn how to read data from a relational database using the Entity Framework, how to write it back after you have adjusted it. You get to know the Entity Framework thoroughly and among others you will learn to work with migrations, transactions and concurrency. The training will mainly use Entity Framework Core 6.0.

Learning Goals

CheckmarkUnderstand the concept of an ORM
UnderstandLogo InfoSupport
CheckmarkApply Code First
ApplyLogo InfoSupport
CheckmarkApply Querying an entity data model.
ApplyLogo InfoSupport
CheckmarkUnderstand Loading entities
UnderstandLogo InfoSupport
CheckmarkApply migrations
ApplyLogo InfoSupport
CheckmarkUnderstand using CRUD operations in Entity Framework Core
UnderstandLogo InfoSupport
For the above learning goals we use Bloom's Taxonomy

Prior Knowledge

  • Basic knowledge of the Microsoft Visual Studio development environment.
  • A basic understanding of Microsoft .NET Core
  • Knowledge of C#.
  • A good understanding of relational database concepts and the SQL language.

Subjects

Architecture and Data Access Technologies

  • Mismatch between OO and Relational Model
  • ORM
  • Inheritance solutions:
    • Table per Hierarchy
    • Table per Type
    • Table per Concrete Type
  • Concurrency conflicts
  • Indexes

Code First

  • Fundamentals of Code First
  • Workflow
  • Conventions
  • Data annotations
  • Fluent API
  • ConnectionString
  • Data Seeding

Querying Entity Data

  • LINQ
  • IQueryable
  • Logging
  • Reverse Engineering and scaffolding

Loading Entities and Navigation Properties

  • Loading related data:
    • Eager loading
    • Explicit loading
    • Lazy loading
  • Relationships

Code first migrations

  • Entity Framework Tools
  • Enabling migrations
  • InitialCreate
  • Performing migrations
  • Update the database

Creating, Updating, and Deleting Entity Data

  • Add a new item
  • Update an item
  • Delete an item
  • Use Stored Procedures
  • Filter queries

Working with object services

  • DBContext
  • ChangeTracker
  • Asynchronous querying and saving
  • Inject Services

Concurrency

  • Concurrency problems
  • Pessimistic vs. optimistic concurrency
  • Resolving conflicts
  • Transactional support
  • Managing transactions

Testing

  • Testing concepts
  • Initialize
  • In memory

NoSQL

  • What is NoSQL?
  • BASE
  • Characteristics
  • CosmosDB
    • APIs
    • Schema free

Improving Performance

  • Asynchronous data modifications
  • Change tracking
  • Restriction on client evaluation
  • DBFunctions

Additional features

  • Table splitting
  • Database scalar function mapping
  • Keyless entity type
  • Temporal tables

Schedule

Start dateDurationLocation
March 10, 2025March 11, 2025March 12, 2025
Class is guaranteed to run
3 days
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
April 14, 2025April 15, 2025April 16, 2025
3 days
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
April 22, 2025April 23, 2025April 24, 2025
Class is guaranteed to run
3 days
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
June 10, 2025June 11, 2025June 12, 2025
3 days
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
July 23, 2025July 24, 2025July 25, 2025
3 days
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
Keep me posted on new sessions

All courses can also be conducted within your organization as customized or incompany training.

Our training advisors are happy to help you provide personal advice or find Incompany training within your organization.

Trainers

Prior knowledge courses

"This training was immediately applicable to the project"
Attendee
  • icon

    Hoge waardering

  • icon

    Praktijkgerichte trainingen

  • icon

    Gecertificeerde trainers

  • icon

    Eigen docenten