Advanced Entity Framework 6: The Ninja Features
Gain deep insight into advanced features of Entity Framework 6 so that you can take your data access code to the Ninja level!
What you'll learn
Entity Framework 6 brought major improvements to EF allowing developers to align their data access with advanced software practices. This was the first version of EF that became open-source and gained a lot from developer community input. Features with broad appeal such as stored procedure mappings in Code First, support for the Async/Await pattern when executing queries and commands, simplerpatterns for unit testing, and built-in database logging capabilities were among the very popular enhancements. EF6 is also very extensible thanks to custom Migrations, custom mapping conventions, and the introduction of Dependency Injection patterns to open up low-level DbContext configuration. It also gained new methods and properties to allow simpler and smarter coding patterns. This course dives into many of the advanced features in EF6, ensuring that you understand not only what each 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' was added to this version of EF.
Table of contents
- Introduction 0m
- Version Check 0m
- New Clip Explaining EF Core 3m
- What Is Entity Framework 1m
- Whats in This Course 1m
- Whats in This Module 1m
- A Brief History of Entity Framework 7m
- Why EF6 3m
- A Lap around EFs CodePlex Site 9m
- Overview of New Features 9m
- What's Not Yet in EF6? 2m
- Summary 1m
- Resources 1m
- Introduction 0m
- In This Module 2m
- Faster Processing of LINQs 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
- 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 DbSetFind 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