Февраль — вкладки

Обзор Asp.Net Core
https://docs.microsoft.com/ru-ru/aspnet/core/index?view=aspnetcore-3.1#recommended-learning-path

Доп разделы в MVC
https://docs.microsoft.com/ru-ru/aspnet/core/data/ef-mvc/advanced?view=aspnetcore-3.1

Шаблон репозитория и единиц работы
https://docs.microsoft.com/ru-ru/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

Создание веб-API
https://docs.microsoft.com/ru-ru/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio

Создание веб-API с помощью ASP.NET Core и MongoDB
https://docs.microsoft.com/ru-ru/aspnet/core/tutorials/first-mongo-app?view=aspnetcore-3.1&tabs=visual-studio

Асинхронное программирование с использованием ключевых слов async и await
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/async/
https://docs.microsoft.com/ru-ru/dotnet/standard/async

Микрослужбы
https://docs.microsoft.com/ru-ru/dotnet/architecture/microservices/architect-microservice-container-applications/asynchronous-message-based-communication
Проект на контейнерах
https://github.com/dotnet-architecture/eShopOnContainers

Отправка файлов
https://docs.microsoft.com/ru-ru/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1

Идентити
https://docs.microsoft.com/en-Us/aspnet/core/security/authentication/social/?view=aspnetcore-3.1&tabs=visual-studio

https://kenhaggerty.com/articles/article/aspnet-core-22-razor-pages-logout-behavior

Contains для IQueryable и IEnumerable

Когда Contains вызывается для коллекции IEnumerable, используется реализация .NET Core. Когда Contains вызывается для объекта IQueryable, используется реализация базы данных.
Вызов Contains для IQueryable обычно предпочтительнее по соображениям производительности. При использовании IQueryable фильтрация выполняется сервером базы данных. Если сначала создается IEnumerable, все строки должны возвращаться с сервера базы данных.
Вызов ToUpper снижает производительность. Код ToUpper добавляет функцию в предложение WHERE TSQL-оператора SELECT. Добавленная функция не позволяет оптимизатору использовать индекс. Учитывая, что SQL устанавливается без учета регистра, рекомендуется не использовать вызов ToUpper, когда он не требуется.

Отсюда: https://docs.microsoft.com/ru-ru/aspnet/core/data/ef-rp/sort-filter-page?view=aspnetcore-3.1