Books, Courses, and Videos
Books
Pro C# 10 with .NET 6
Pro C# 9 with .NET 5
Pro C# 8: With .NET 3
Building Web Applications with .NET Core 2.1
Pro C# 7: With .NET and .NET Core
Building Web Applications with Visual Studio 2017 (Apress)
Pro C# and the .NET 4.6 Framework (Apress)
Windows 10 Development with XAML and C# 7
Pro Windows 8.1 Development with XAML and C# (Apress)
White Papers
Top 30 Agile Myths Busted
MSDN Channel 9
Entity Framework Core Intro 5 part series on Visual Studio Toolbox (2020):
- Part 1: Working with Existing Databases. We scaffold the DbContext and the Entities from the Northwind Database, discuss navigation properties and relationships.
- Part 2: Change Tracking. Change Tracking is one of the most compelling reasons to use an object-relational-mapper (ORM) like EF Core. In this episode we discuss how the change tracker works, see it in action, as well as load data outside of the change tracker.
- Part 3: Basic Queries. This episode covers querying data using EF Core. We discuss the basics of Where clauses, retrieving single items or lists of items, as well as when queries actually execute.
- Part 4: Querying Related Data and Using Projections. Querying related data is simple in EF Core. In this episode, we demonstrate creating joins in our LINQ queries with Include and ThenInclude. We also discuss how you use projections to shape the queried data into other objects, anonymous or strongly typed.
- Part 5: Putting the CUD into CRUD. Wrapping up our starter series on EF Core, this episode covers adding, updating, and deleting data.
Entity Framework Core 10 Part Series on Visual Studio Toolbox (2020):
- Part 1: Performance. Phil shows off all of the great performance improvements in EF Core.
- Part 2: View Models. Phil covers using straight SQL, stored procedures, and populating view models with projections.
- Part 3: Configuration. EF Core provides a wide range of configuration options for the derived DbContext and it's full support of dependency injection.
- Part 4: Build Your Model. This show is all about creating your EF Core entities to shape the database and using migrations to publish the model.
- Part 5: Global Query Filters. These are new in EF Core, and provide a great mechanism for handling scenarios like multi-tenancy and soft deletes.
- Part 6: Concurrency Conflicts. These have long been a problem for multi-user systems. Phil walks us through how concurrency checking works with EF Core and SQL Server, and all of the data provided back to the developer when a concurrency issue occurs.
- Part 7: Connection Resiliency. EF Core can gracefully handles transient database errors (if you enable the feature). Phil and Robert talk about what transient errors are, how to enable the feature, and how it effects using explicit permissions.
- Part 8: Computed Columns. Blending EF Core with server side functionality is a breeze with EF Core. Phil covers using computed columns in EF Core as well as mapping SQL Server function to C# functions for use in LINQ queries.
- Part 9: Change Tracking Events. The fairly recent addition of Tracking and State Change events provides a mechanism for audit logging (among other uses). Phil shows how this works as well as takes a quick spin through the EF Core Interceptors.(this episode)
- Part 10: Field Mapping. This enables EF Core to create your entities without calling the property setters, solving the long running problem of using an ORM with frameworks that use INotifyPropertyChanged, such as Windows Presentation Foundation (WPF).
Testing with C# (Visual Studio Toolbox)
Patterns and Architecture on Visual Studio Toolbox (2017)
Conference Talks & Miscellaneous:
Lynda Courses
ASP.NET Core New Features
Entity Framework Core Essential Training 1
Entity Framework Core Essential Training 2
Migrating from MVC5 to ASP.NET Core MVC
Migrating from ASP.NET Web API 2.2 to ASP.NET Core
Getting Started with Entity Framework 6.1.3
Pluralsight Courses
JustMock Lite Fundamentals
//build 2013
Extending the UI Platform
InfoQ
JavaScript for the C# Developer (KCDC 2015)
SOLID Software and Design Patterns for Mere Mortals (CodePaLOUsa 2011)