Code Maze Author

Marinko Spasojević

Hi, my name is Marinko Spasojevic. Currently, I work as a full-time .NET developer and my passion is web application development. Just getting something to work is not enough for me. To make it just how I like it, it must be readable, reusable, and easy to maintain. Prior to being an author on the CodeMaze blog, I had been working as a professor of Computer Science for several years. So, sharing knowledge while working as a full-time developer comes naturally to me.
Also find me here:


MY ARTICLES:

Migrations and Seed Data With Entity Framework Core

In this section, we are going to cover Migrations and Seed data features in Entity Framework Core. In the previous parts of this series, we have created the database model (entity and context classes) and applied different configuration options. Now it is time to...

Configuring Nonrelational Properties in EF Core

In the previous article, we have created a basic setup for Entity Framework Core in our ASP.NET Core project. In this article, we are going to talk about the EF Core configuration and the different configuration approaches. You can download the source code for this...

Entity Framework Core – Getting Started

In this article, we are going to get started with Entity Framework Core (EF Core). We are going to go through some of the basic but crucial information that will be valuable to you when starting with an ASP.NET Core project that uses Entity Framework Core. [sc...

Consuming a GraphQL API with Angular

In the previous article, we have created an ASP.NET Core application to consume a GraphQL API. But we don't have to use only the ASP.NET Core app to consume a GraphQL API, we can do the same thing with the Angular application. To accomplish that, we are going to use...

Consuming a GraphQL API with ASP.NET Core

In the previous article, we have finished creating mutations in the GraphQL application, thus finishing the GraphQL integration in ASP.NET Core Web API. In this article, we are going to consume GraphQL API by creating an ASP.NET Core app. To consume GraphQL API with...

GraphQL Mutations in ASP.NET Core

GraphQL mutations are actions which we use to Add, Update and Delete data from a database. Until now, we have been executing only GraphQL Queries (fetching data) but in this article, we are going to talk more about data mutations in GraphQL. Getting Started with...

Advanced GraphQL Queries, Error Handling, Data Loader

In the previous article, we have learned about the GraphQL integration with the ASP.NET Core application. We have created our first GraphQL query and fetched some data from the server-side application. But we won’t stop on just basic queries. In this article, we are...

Getting Started with GraphQL in ASP.NET Core

In this article, we are going to learn how to set up GraphQL in the ASP.NET Core application. We are going to use different third-party libraries to make this integration easier and will explain in detail how to use GraphQL elements (Type, Query, and Schema) to...

C# Design Patterns – Strategy Design Pattern

The Strategy design pattern is a behavioral design pattern that allows us to define different functionalities, put each functionality in a separate class and make their objects interchangeable. In other words, we have a main Context object that holds a reference...

C# Design Patterns – Command

The Command pattern is a behavioral design pattern that we can use to turn a request into an object which contains all the information about the request. The Command design pattern is quite popular in C#, especially when we want to delay or queue a request’s execution...

C# Design Patterns – Decorator

In this article, we are going to talk about another structural C# design pattern, the Decorator Design Pattern. We are going to learn, how to implement this pattern in our project and what we can get by doing that. Builder Design Pattern and Fluent Builder Fluent...

Basic Tips and Tricks to Boost Productivity in Visual Studio

Visual Studio is a Microsoft IDE that is used by many developers worldwide every day. It is a great tool that provides a lot of interesting and very useful features to make a developer’s life a lot easier, but often, especially when we are new to the IDE we don’t...

C# Design Patterns – Composite

The Composite design pattern is a structural design pattern that allows us to compose objects into a tree structure and then work with that structure as if it is a single object. That also means using this design pattern makes sense when the part of our app can be...

C# Design Patterns – Adapter

The Adapter design pattern is a structural pattern that allows incompatible interfaces to work together. By doing so, we allow objects from different interfaces to exchange data. In this article, we are going to learn how to implement the Adapter pattern into our...

C# Design Patterns – Singleton

The Singleton is a creational design pattern that allows us to create a single instance of an object and to share that instance with all the users that require it. There is a common opinion that the Singleton pattern is not recommended because it presents a code...

C# Design Patterns – Factory Method

The Factory method is a creational design pattern that provides an interface for creating objects without specifying their concrete classes. It defines a method that we can use to create an object instead of using its constructor. The important thing is that the...

C# Design Patterns – Faceted Builder

In the previous two articles, we were talking about Builder Design Pattern and Fluent Builder With Recursive Generics. We recommend reading at least the first one for a better understanding of the Builder Design Pattern. The second one is the upgrade to the first...

SOLID Principles in C# – Dependency Inversion Principle

The basic idea behind the Dependency Inversion Principle is that we should create the higher-level modules with its complex logic in such a way to be reusable and unaffected by any change from the lower-level modules in our application. To achieve this kind of...