C# 7.0 – Discards

Sometimes there is a need to ignore a result of a method. It’s straightforward if that’s a return value – just don’t assign it. But what should be done in other cases?

C# 7.0 – Patterns

The concept of patterns was introduced in C# 7.0. The idea is to check if an object reflects a specified shape.

C# 7.0 – Out variables

Using out parameters was always a bit painful. The biggest drawback is the need to declare variables before they can be used.

C# 7.0 – Deconstruction

Deconstruction is a nice way to consume tuples. It’s a syntax that allows splitting a tuple into variables.

C# 7.0 – Tuples

Tuples first appeared in C# with .NET Framework 4.0. They were supposed to be a lightweight alternative for small classes that were created if a method had to return more than one value.

Code-First Database Design with Entity Framework and PostgreSQL

Entity Framework is an Object-Relational Mapper for .NET applications, and the code-first approach using Entity Framework allows developers to use their domain model to build and query databases directly from their data model objects. In this article, we’ll take a look at how to use the Entity Framework in C# to create a table in a PostgreSQL database. Using a domain model for Car a  as an example, we’ll take a look at different ways to configure the framework using data annotations and take a look at how different model decoration attributes affect the underlying table created by Entity Framework. You […]

Redis cache for PostgreSQL in Entity Framework 6

Database caching is a commonly used technique to improve scalability. By offloading database work to other, faster stores it can also help improve the availability of the data too. Often, though, that caching comes at the cost of hardwired code in the application to check the cache first before the database. But what if we could do it cheaply and transparently to the application? Let’s try to leverage the C# and the features of Entity Framework 6 to do all the heavy lifting. I’ll show how to use PostgreSQL database with the framework and how to add transparent caching using […]