First step to optimize your EF Core queries

If you are .NET developer you mostly likely use EF Core as ORM (Object Relation Mapper). At some point you probably needed to optimize same query because if runs slow or not optimal. Maybe you consider adding caching layer to improve performance but before doing so it useful to see if query can be optimized

SQLite improvements in EF Core 5.0

One of biggest limitations of SQLite database is that it has limited support for changing database schema after it was designed initially. For example, simple dropping of existing column is not possible. The only schema altering commands directly supported by SQLite are the rename table, rename column and add column commands. But altough not supported

Migration from .NET Core 3.1 to .NET 5 and EF Core 5.0 on real life project

In this article I will explain steps needed to upgrade project to .NET 5, EF Core 5.0 and C# 9.0 on real life project. First thing needed is Visual Studio 16.8. I will not work in earlier versions of VS. Next, download .NET 5 SDK and Runtime from https://dotnet.microsoft.com/download/dotnet/5.0. Once you open your projects inside

.NET tool to see installed .NET core version and .NET tool to see outdated project dependencies: dotnet-runtimeinfo and dotnet-outdated

If you want to quickly see version of .net installed there is dotnet --version command. However, if you want to see more detailed information including exact version of operating system and OS arhitecture there is dotnet-runtime info tool. https://www.nuget.org/packages/dotnet-runtimeinfo/ You can install it by running dotnet tool install --global dotnet-runtimeinfo. You can now run it

Authentication and authorization using Microsoft identity platform in Blazor web app

First thing you will need to do is go to https://portal.azure.com/#allservices and under services choose App registration and register new app. Once you create it application (client) ID and Directory(tenant) ID will be generated for you. You will need to add section like this to your app.settings file: "AzureAd": { "Instance": "https://login.microsoftonline.com/", "Domain": "yourdomain.com", "TenantId":

Continuous integration and Continuous delivery using VSTS

In this article I will explain how I setup basic CI/CD pipeline in VSTS. Creating build agent First thing is to go to your VSTS (it is called Azure DevOps now) and download build agent. Build agent is not only available here, you can freely find it Microsoft pages, so if for any reason downloaded

ASP.NET MVC isomorfic arhitecture with React.js

Goals for creating isomorfic architecture First of all I would like to explain my goals for creating this arhitecture: Less code duplication Less bugs Much easier maintainance of the web page Separation of the concerns between backend and frontend Completely server backend framework agnostic SEO Performance and UX There are lot of things here, and

Advantages of using React as view layer in ASP.NET MVC applications

Javascript frameworks like AngularJs and React are great for building  building SPA (single page applications).  However, problem with those client frameworks is that content is rendered on the client.  And rendering on the client affects SEO (search engine optimization) which as a result affects conversions. Everyone wants better conversion so using React as view layer

Comparing Kotlin to C#

One of the best way for learning new language is to compare it with language you already know. In this article we will make comparison between Kotlin and C# languages. Kotlin is now official language for Android development. In this part I will not cover all language differences. Comparing Kotlin to C# would probably require

Building consistent responses in ASP.NET Web Api

This is my second part of the article about building consistent Web Api response. First was just high level overview about idea for building consistent web api responses. This article is about building consistent responses in ASP.NET Web Api specifically. Main idea to implement this in ASP.NET Web Api is to make own message handler. A message