home > training > DEV510: Building an End to End Application with ASP.NET Core, Entity Framework Code First and JavaScript

DEV510: Building an End to End Application with ASP.NET Core, Entity Framework Code First and JavaScript


  • 5 Days
  • Taught by Dan Wahlin
  • Replay™ Class Recordings Included

Interested in scheduling a date for this course?
Request A Date
  • This field is for validation purposes and should be left unchanged.

Course Description

This course provides an end-to-end look at building an HTML5 application using different technologies such as Entity Framework Code First, ASP.NET Core, and various JavaScript libraries. Throughout the course you’ll see how different server-side and client-side technologies can be used together to create a robust application that provides flexible data display options to end users.
Topics covered include the role of model classes and data annotations, data access with Entity Framework Code First, serving up HTML5 and JSON content using ASP.NET Core MVC and Web API, DOM manipulation and event handling with jQuery, HTML5 Boilerplate integration, the role of object literals in JavaScript, jQuery UI features, applying patterns to structure JavaScript code and make it clean and maintainable,as well as several HTML5 technologies including SVG, canvas, video and more.

If you’re looking for an “end to end” course that shows how different technologies can be used together to build a real-life application then this is the course for you! An example of the application that’s built is shown next:



Introduction to the Application Technologies

  • Introducing the Account at a Glance Application
  • Application Technology Overview
  • Project Structure
  • Using NuGet
  • Data Technologies
  • Lab: Creating the Application Projects


Creating Model Classes

  • Creating Model Classes
  • Adding Validation Attributes
  • Schema Mapping Attributes
  • Lab: Creating Model Classes


Creating the DbContext

  • The Role of DbContext
  • Creating a DbContext Class
  • Extending DbContext Functionality
  • Creating a Seed Class
  • Modifying a Database
  • Lab: Creating the DbContext Class


Creating Data Repository Classes

  • Repository Pattern Fundamentals
  • The Base Repository Interface and Class
  • Creating Repository Interfaces and Classes
  • Querying with LINQ and Lambdas
  • Querying with Repository Classes
  • Lab: Creating Repository Classes


Configuring and Using Dependency Injection

  • What is Dependency Injection?
  • The Role of Dependency Injection in ASP.NET Core
  • Configuring Dependency Injection in Startup.cs
  • Lab: Configuring Dependency Injection


Retrieving and Storing Distributed Data

  • Parsing XML Data with LINQ to XML
  • Creating a StockEngine Class
  • Calling Stored Procedures with EF Code First
  • Adding Repository Methods
  • Lab: Creating a StockEngine Class and Data Repository Methods


Creating ASP.NET Core MVC and Web API Controllers

  • Server-Side Technology Overview
  • NET Core Configuration and Middleware
  • Application Controllers
  • Customizing Routes
  • Web API Controllers
  • Lab: Creating Controllers and Actions


Creating ASP.NET MVC Views

  • HTML5 Boilerplate and _Layout.cshtml
  • Working with ASP.NET Core MVC Views
  • Bundling CSS and JavaScript Files
  • Lab: Creating Views and Working with Bundles


Client-Side Technologies

  • Client-Side Technology Overview
  • jQuery Fundamentals
  • Understanding JSON and Object Literals
  • JavaScript Patterns for Writing Clean Code
  • Lab: Using JavaScript Patterns, with


Client-Side Templates

  • Application Scripts
  • Defining Tiles in scene.layoutservice.js
  • Creating Tiles in scene.statemanager.js
  • Handlebars Fundamentals
  • Creating Client-Side Templates
  • Rendering HTML into Tiles
  • Lab: Creating Tile Scripts and Templates


Retrieving JSON Data from the Server

  • jQuery Ajax Functions
  • Creating a Client-Side Data Service using JavaScript Patterns
  • Using Promises
  • Rendering JSON Data using Templates
  • Lab: Retrieving JSON Data and Rendering Tiles


HTML5 Technologies

  • Integrating HTML5 Video
  • Drawing with the HTML5 Canvas
  • Drawing with SVG
  • Lab: Integrating HTML5 Technologies



This class is geared toward developers with existing experience building dynamic Web applications using ASP.NET Core.



is class is geared toward developers with existing experience building dynamic Web applications using ASP.NET Core.

  • 1 or more years of experience working with Web technologies including JavaScript, CSS, and HTML.
  • 1 or more years of experience working with the C# language. T
  • It’s recommended that students take the C# Programming with Visual Studio, ASP.NET Core Programming, and Mastering JavaScript courses prior to taking this course or have equivalent experience. Please note that this is not a beginner class!
What You Will Learn

After attending this course, students will be able to:

  • How to create reusable projects in Visual Studio
  • How to integrate NuGet packages into projects
  • How JSON data can be served to clients using the ASP.NET Web API
  • Database generation techniques with Entity Framework Code First
  • The role of code first migrations for handling changes to models and tables
  • The role of Fluent Mappings in the DbContext class
  • Benefits of the Repository Pattern for data access
  • Key ASP.NET Core features
  • How HTML5 Boilerplate can be integrated into ASP.NET Core layout pages
  • Key JavaScript patterns that can be used to write clean code
  • jQuery Ajax features and how promises can be used to detect success or failure
  • jQuery UI drag/drop features
  • How JSON data can be bound to client-side templates to generate HTML in the browser
  • HTML5 technologies such as canvas, SVG and video
  • Much more…