EF Core

Entity Framework Core: Configure Database Connection using Azure Service Token Provider

Update - READ THIS FIRST There is now support to connect to any Azure SQL database, Azure SQL Managed Instance and Synapse SQL in Azure Synapse Analytics from your .NET Core app using just the connection string. To learn more about this read the following pages: Use Azure Active Directory Authentication with your Azure DB Using Azure Active Directory auth with SqlClient This will completely eliminate the need to write any code to obtain a service connection in your application. I found this out when I shared this post earlier on Twitter. ...

June 26, 2021 · 11 min · 2319 words
Open Json

OPENJSON - The Utility function you did not know you needed in a Data transfer Logic App

Background I have been using Logic Apps to transfer data from one database to another. Of course, there is business logic in the queries run on the source database. And in such a case, maybe Azure Data Factory might have been a better choice. It very well could be. But for now I have been using a logic app, that simply runs a pretty big query, fetches the results and inserts into my destination database after some checks on the data present in the destination database. It works. However, using your Logic App to do some data related operations, especially to a SQL database, requires some wisdom. ...

June 21, 2021 · 6 min · 1146 words
Cache

What is Caching? The different types of caches and interfaces in .NET Core for caching

What is caching? Storing frequently accessed information closer to where you need it for faster subsequent access to it. Caching is so ubiquitous that you probably have benefited from it without even knowing about it. Your computer or your phone or other mobile devices use caching at different levels like at its hard drive, CPU, GPU, browser, operating system etc to improve its performance. And when you think about things outside your computer, like databases, web servers, DNS etc also use caches for the same reason, improving performance, by keeping frequently requested for items closest to where it is accessed, in a faster, more volatile storage system. Also cache storage is often times more expensive than regular storage, as it is often stored either in super fast access memory or solid state drives. Hence choosing what you store in the cache and how much you store in the cache is also something you must consider before deciding to use a cache. ...

June 20, 2021 · 5 min · 1056 words
Azure Logic Apps in Azure Pipelines

What are Azure Logic Apps and How to deploy them using Azure Devops Pipeline - A tutorial and a list of challenges you might encounter

What are Azure Logic Apps? Azure Logic Apps are an Azure service that lets you visually build integrated solutions to connect several different apps and services together, and comes with a click and select interface. It enables you automate business processes without writing any code at all! What is business process? A business process or workflow is a sequence of tasks that produce some sort of outcome, which may be some data, decision, notification. ...

June 12, 2021 · 19 min · 4040 words
Reverse Proxy

Proxy vs Reverse Proxy - What are they?

I was recently helping my friend with some preparation for a system design interview and as we discussed solutions, the terms Proxy server and reverse proxy came up in our discussions. I really struggled to give a simple explanation of the terms during our discussion. I just knew what one did. I did not even know that load balancers were generally reverse proxies. This is where knowledge of a natural language could be helpful. So I thought I would try and compile a simple description of both here and go look at the definition of Proxy from the dictionary. ...

June 6, 2021 · 3 min · 519 words
Git

Git, Case Sensitivity and Github actions

Git is easy I have used git for quite a long time. I have also been coding in .NET for fairly some time now. I have created plenty of dotnet project repositories in Github and integrated some basic CI features to it using Github actions. It has all gone fairly well, until it didn’t, today. The documentation is pretty solid and I know a lot of it on top of my head. But today, I ran into something that got me totally by surprise and wasted a lot of my time on it. ...

May 15, 2021 · 5 min · 961 words
Structured Design

Cohesion and Coupling - two important concepts to understand when building good software

When building applications, it is fundamental to think about design first. This process of designing first helps visualize some of the key areas that you are going to tackle. How are the different elements or components going to interact with one another? What are the various components going to be? What are the responsibilities of each of these components? Software Engineering is a pretty young field, compared to other engineering domains. And over the last 60 years or so, has made tremendous amount of progress. This has led to the rise of several different blueprints for solving common problems, often called design patterns or architectural patterns. These are great tools to use when developing your solution, provided you understand what they solve and when best to use them. ...

May 9, 2021 · 6 min · 1184 words
Problem Details

Using ProblemDetails in .NET Core 3.1 with C#

What is Problem Details? When you are an API developer, you often need to convey errors to the client or consumer of the API. It is not always a happy path when it comes to using an API. Things do go wrong sometimes. Networks fail. Databases encounter issues. Your application could encounter an unhandled exception due to another service downstream that failed to respond correctly! When developing distributed applications, one must design for failure, as there are many points of failure. And when there are failures that we cannot immediately rectify, we must be able to let our consumers know what to do. ...

May 8, 2021 · 15 min · 2992 words
Dotnet logo

.NET (dotnet) Framework and Core and things

ASP.NET Core I have used ASP.NET core a lot. But I wonder how I would describe it to someone who has never used it before. So I decided to give it a shot at describing in simple words what it really is. What is it? ASP.NET Core is a cross-platform, open-source framework for building modern internet connected apps that can be deployed on premises or in the cloud. Cross-platform - an asp.net core app can run on linux, macos and windows, so long as you have installed the dotnet runtime in there Open-source - yes, microsoft did make it all open source. You can read the code on https://github.com/dotnet/aspnetcore ...

May 7, 2021 · 6 min · 1224 words
Search

Client Side Search for your Hugo Blog with Fuse.js

Featured Image is “Search!” by Jeffrey Beall is licensed with CC BY-ND 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-nd/2.0/ In an earlier post about migrating from wordpress to self hosted on Azure, I took you through some steps to host a blog on Hugo. But I don’t know if you realised the blog didn’t have a search function. I couldn’t really search for articles! That I felt was a step back from my wordpress blog where I had the ability to search. Not just me, but you know, if anyone ever wants to search for a particular content in my blog, they really didn’t have a way to do that, unless google let them search. ...

May 1, 2021 · 8 min · 1620 words