How to handle Many-To-Many in Entity Framework Core

Many-To-Many relationship in not as straightforward as other relationships. In this post I’ll show you how to create many-to-many relationships and how to use them in EF Core. The model Simple and practical example of many-to-many could be some sort of digital ecommerce store. Users can put items into shopping cart (one shopping cart can have many items), whereas items belong to multiple carts. Lets start off by creating Cart and Item classes. ...

November 24, 2019 · 4 min · Zbigniew

Enumerable.Range by example

C# Enumerable.Range function generates sequence of numbers. This article explores details of the Range function as well as its use cases. Enumerable.Range overview It takes two arguments. First argument is the first number in sequence (e.g. 10, means that the first number in sequence is 10). Second argument is the number of items in sequence (e.g. 11 means that it will return 11 numbers). It returns IEnumerable<int> which contains generated sequence. Keep in mind that each subsequent number is incremented by 1, which also means that it’s in ascending order. This however can be changed with some Linq tricks (check examples below). ...

October 31, 2019 · 4 min · Zbigniew

ASP.NET Core/Razor Pages localize nested classes

You probably already know how to localize regular classes in ASP.NET Core web app. It’s rather easy, at least in terms of resource files. Sometimes however we use nested classes which requires special way of naming RESX files. As it turns out it is actually pretty easy to do. If you want the answer right away, then here it is. You have to use + sign in the name of your resource file (like this: OuterClass+NestedClass.en.resx). ...

September 22, 2019 · 2 min · Zbigniew

Iterate dictionary in C#

This time I’m going to give a few quick tips for dictionaries in C#. Some basic points before we begin: Dictionary is an unordered data structure Dictionary maps keys to values Keys have to be unique Dictionary implements IEnumerable Let’s start by creating a simple dictionary with some data: 1 2 3 4 5 6 // e.g. name and birth date var people = new Dictionary<string, DateTime> { { "John", new DateTime(2000, 1, 1) }, { "Jane", new DateTime(2000, 1, 2) } }; Looping through dictionary is simple, since it implements IEnumerable all we have to do is to use foreach loop. Each dictionary item has Key and Value property: ...

August 25, 2019 · 2 min · Zbigniew

Where() Select()

This post is quick intro for beginners. I’ll introduce you to 2 Linq methods Select and Where. We use those functions to manipulate data set. All 2 can be applied to all types implementing IEnumerable interface. It means that you can apply them to data retrieved from database (IQueryable), list (List/IList implements IEnumerable), arrays (which also implements IEnumerable) and others. It’s important to know that each one of those functions return new IEnumerable. Even if we execute these methods on array (e.g. int[]) it returns enumerable (e.g. IEnumerable<int>). Note that it works a bit different for IQueryable and database operations. Since this is an introductory level post I’ll show you how to use them using array based examples. ...

July 28, 2019 · 2 min · Zbigniew