Learn your way! Get started

Entity Framework 6.1, Part 6: Code-First Dev

with expert Don Kiely

Watch trailer

Entity Framework 6.1, Part 6: Code-First Dev Trailer

Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack
  • Power Pack Plus

Release date Release date 2/2/2015
Level Level Advanced
Runtime Runtime 3h 23m
Platform Platform Major browsers on Windows Major browsers on Windows Major browsers on Mac OSX Major browsers on Mac OSX Mobile Devices Mobile Devices
Closed captioning Closed captioning Included
Transcript Transcript Included
eBooks / courseware eBooks / courseware N/A
Hands-on labs Hands-on labs N/A
Sample code Sample code Included
Exams Exams Included

Enterprise Solutions
Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More

Course description

This course will start by covering how code-first works by default, which will probably work for most applications early in their development cycle. But when you’re ready to deploy the application to a production server, or need more flexibility in how Entity Framework creates a database. You’ll see how to create a code-first model and create a database from it, and see an application that makes use of it to maintain data in the database. You’ll also learn how to customize the database using both data annotations and the DBModelBuilder API, which lets you write code instead of use data annotations. Last you’ll see how code migrations is a newer feature of code first that goes beyond just deleting and recreating the database when the model changes.


This course assumes that you are experienced with relational database design and programming concepts. Entity Framework is all about data access, and the course doesn’t spend any time on data fundamentals. You’ll also need a good understanding of object-oriented programming in C#, so that you know how to use the entity data objects that Entity Framework generates from your data model. You’ll also need to have a working knowledge of Language INtegrated Queries (LINQ) in C#. The course uses Entity Framework with various SQL Server databases, so you should know enough about SQL Server to know how to perform various tasks and be able to connect to a database. But you don’t need deep knowledge of SQL Server to use Entity Framework productively. You should have already viewed the Entity Framework 6.1: SQL Server Features course before taking this course.

Prepare for certification

This course will help you prepare for:
70-487 Developing Windows Azure and Web Services

This course will help you earn:
MCSD: Web Applications

Meet the expert

Don Kiely Don Kiely is a featured instructor on many of our SQL Server and Visual Studio courses. He is a nationally recognized author, instructor, and consultant, specializing in Microsoft technologies. Don has many years of teaching experience, is the author or co-author of several programming books, and has spoken at many industry conferences and user groups. In addition, Don is a consultant for a variety of companies that develop distributed applications for public and private organizations.

Course outline

Domain-Centric Modeling

Creating A Model (33:54)
  • Introduction (01:51)
  • Domain-Centric Modeling (01:11)
  • Using Code-First (01:38)
  • Creating and Using a Model (02:14)
  • Demo: Ordering Model (04:43)
  • Demo: Address & Order (05:13)
  • Demo: Navigation Properties (04:31)
  • Demo: Ordering Context (05:37)
  • Demo: Connection (05:00)
  • Summary (01:52)
Model in ASP.NET MVC App (23:00)
  • Introduction (01:09)
  • Demo: Scaffold (06:02)
  • Demo: Add View (03:55)
  • Demo: Create (05:06)
  • Demo: Add Customer (06:16)
  • Summary (00:30)

Updating, Changing and Seeding

Run App and Explore Data (15:57)
  • Introduction (01:07)
  • Demo: Run App (05:24)
  • Demo: Create Database (03:54)
  • Demo: Explore Data (04:37)
  • Summary (00:52)
Update and Delete Customers (22:41)
  • Introduction (00:23)
  • Demo: Details (04:33)
  • Demo: Update Customer (05:16)
  • Demo: Add View (02:18)
  • Demo: Delete User (05:33)
  • Demo: Run Application (04:15)
  • Summary (00:20)
Changing the Model (14:53)
  • Introduction (00:28)
  • Demo: Change the Model (03:29)
  • Changing the Model (04:35)
  • Demo: Database Re-creation (05:47)
  • Summary (00:33)
Seeding the Database with Data (12:55)
  • Introduction (01:07)
  • Demo: Ordering Initializer (05:08)
  • Demo: Ordering Initializer Cont (01:25)
  • Demo: Change the Model (04:26)
  • Summary (00:46)

Databases and Migrations

Customizing the Database (28:36)
  • Introduction (01:24)
  • Customizing the Database (02:41)
  • Conventions (02:42)
  • Data Annotations (01:12)
  • Demo: Primary Keys (04:57)
  • Demo: Annotations (04:42)
  • Demo: Override Names (05:14)
  • Demo: Using Annotations (05:25)
  • Summary (00:16)
Db Model Builder API (15:50)
  • Introduction (01:13)
  • Demo: Remove Convention (04:04)
  • Config Properties & Entities (01:30)
  • Demo: Property Method (04:32)
  • Demo: Change Column Name (03:35)
  • Summary (00:53)
Code First Migrations (35:15)
  • Introduction (01:55)
  • Code-First Migrations (00:38)
  • Migration Implementation (01:13)
  • Demo: Package Manager (04:44)
  • Demo: Migration Object (05:27)
  • Demo: Automatic Migration (01:43)
  • Demo: Change Initialization (04:28)
  • Demo: Database Schema (04:00)
  • Demo: Data Loss (02:08)
  • Demo: Accept Data Loss (03:20)
  • Demo: Add Model Class (04:49)
  • Summary (00:43)