Entity Framework 6: Ninja Edition - What's New in EF6
Gain deep insight into all of the new features in Entity Framework 6 so that you can take your data access code to the Ninja level!
What you'll learn
Entity Framework 6 brings major improvements to EF that allow developers to align their data access with advanced software practices. The biggest news for EF6 is that it is open-source and has gained a lot from developer community input. Features with broad appeal such as stored procedure mapping in code first, support for the Async/Await pattern when executing queries and commands, simpler patterns for unit testing, and built-in database logging capabilities have gotten a lot of visibility. EF6 is now very extensible with custom Migrations, custom mapping conventions, and the introduction of Dependency Injection patterns to open up low-level DbContext configuration. There are new methods and properties that allow simpler and smarter coding patterns. Rather than present a high level list of the new features, this course dives into each new feature in EF6, ensures that you understand not only what it is for, but how it works, scenarios where you can benefit from it, and gotchas you should watch out for. This course provides a comprehensive look at what EF6 adds to Entity Framework, and it will leave you with the ability to truly benefit from all of the Ninja power that's been added to this version of EF.
Table of contents
- Introduction 0m
- What Is Entity Framework? 1m
- What's in This Course? 1m
- What's in This Module? 1m
- A Brief History of Entity Framework 8m
- Why EF6? 3m
- A Lap Around EF's CodePlex Site 9m
- Overview of Changes to the EF Designer 2m
- Overview of New Features 8m
- What's Not (Yet) in EF6 1m
- Summary 1m
- Resources 1m
- Introduction 0m
- In This Module 2m
- Faster Processing of LINQ's Enumerable Contains 6m
- Faster Mapping View Generation 8m
- Using nGen to 'Pre-JIT' EF6 Assembly 5m
- Reuse Open Database Connections 6m
- Create DBs That Are More Scalable and Less Prone to Deadlocks 7m
- Connection Resiliency for Transient Database Connections 3m
- Digging into the Connection Resiliency Feature 13m
- Quick Review 2m
- Resources 0m
- Introduction 0m
- EF Designer History 2m
- In This Module 2m
- EF Designer's New MSI Installer 3m
- Creating a Code First Model From a Database in the Designer 6m
- Database Views in Your Code First Model 4m
- Customizing the Code First Designer Templates 8m
- Refactoring the Generated POCOs and Model 4m
- A Warning About a Naming Conflict With Code First From Database 2m
- What Does the Empty Code First Model Wizard Do? 2m
- Comparing the Code First Model Wizard to the EF Power Tools 3m
- Using EF4 or EF5 With the New Designer 2m
- A Notable Change to the Model First Workflow 3m
- Why You Still Need the EF Power Tools 1m
- Quick Review 2m
- Resources 0m
- Introduction 0m
- In This Module 1m
- Understanding EF Stored Procedure Mappings 2m
- Visualizing Stored Procedure Mappings 3m
- Differences Between Designer-Based and Code First Model Mappings 3m
- Conventions for Procedures Created by Code First 5m
- Customizing Mappings to Work With Existing Stored Procedures 8m
- Quick Review 1m
- Resources 0m
- Introduction 0m
- In This Module 1m
- Custom Code First Conventions: Why Would You Want Them? 4m
- Custom Conventions Basics With Lightweight Conventions 3m
- Using Attributes to Specify Custom Conventions 3m
- Encapsulating Custom Conventions 1m
- Understanding and Controlling Execution Order 7m
- Model-Based Conventions 9m
- Extending Existing Conventions 2m
- Quick Review 1m
- Resources 0m
- Introduction 0m
- In This Module 1m
- Database Index Support in Code First 7m
- Adding Indexes With Fluent API 3m
- Setting the Default Database Schema 3m
- Using AddFromAssembly to Load Conventions and Configurations 7m
- Understanding and Fixing How Code First Pluralizes Table Names 4m
- Using a PluralizationService to Localize Non-English Table Names 7m
- Implementing a Custom Pluralization Rule in Your Data Layer 7m
- Mapping to Results of Table Value Functions and Stored Procedures 2m
- Quick Review 2m
- Resources 0m
- Introduction 0m
- In This Module 2m
- Affecting the Schema of the Migrations History Table 7m
- Smarter Migrations With Idempotent Scripts 4m
- Limitations of Existing Migrations Methods 3m
- How Migrations Get From Method to SQL 3m
- Create Custom Migrations for Other Database Operations 7m
- Why HasColumnAnnotation and HasTableAnnotation? 2m
- Implementing a Simple Table Annotation 4m
- Implementing More Complicated Annotations 4m
- Performance Tweak for MigrateDatabaseToLatestVersion Initializer 3m
- Migrate From Multiple Models to a Single Database 2m
- Using HasDefaultSchema and ContextKey for Multiple Model Support 6m
- Easier Migrations for Multiple Models in a Single Project 3m
- Combining Database Initializers and Migrations 4m
- Quick Review 2m
- Resources 0m
- Introduction 0m
- In This Module 1m
- Simple Database Logging With the Log Property 7m
- Tweaking the Log Functionality 8m
- SQLCE Functions for LINQ Queries 3m
- Introducing the Async EF6 Methods 3m
- Demonstrating the Effect of Asynchronous EF6 Methods 5m
- Perception and Performance: Load Testing With Async EF6 8m
- Quick Review 1m
- Resources 0m
- Introduction 0m
- Why DbConfiguration? 1m
- In This Module 1m
- Creating and Triggering a DbConfiguration Class 2m
- Why Move Config File Settings to Code? 1m
- Moving Connection Factory to DbConfiguration 4m
- Moving Database Initializers to DbConfiguration 3m
- The New NullDatabaseIntializer 1m
- Provider Services and DbConfiguration 3m
- Tap into the Pipeline With Interceptors 1m
- Beyond the Interceptor Basics 7m
- What Stops Does the DbCommandInterceptor Make in the Pipeline? 4m
- Building an Interceptor for Database Logging 7m
- Using Interceptors to Solve Complex Problems 8m
- Understanding the Role of Dependency Resolution 6m
- Hosting DbConfiguration in External Assemblies 5m
- Quick Review 2m
- Resources 0m
- Introduction 0m
- In This Module 1m
- EF6 and Mocking Frameworks 5m
- Writing Tests to Mock Methods Like DbSet.Find 5m
- Writing Tests to Mock LINQ Queries 5m
- Nested Entities and Complex Types 3m
- Fixing the Ambiguous Types Problem 2m
- Custom Equals vs. Change Tracker Equals 4m
- Smarter LINQ to Entities Queries 7m
- Yes, You Can Haz Changes With HasChanges 3m
- Quick Review 3m
- Resources 0m