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 – Out variables

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

C# 7.0 – Deconstruction

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.

C# 7.0 – Tuples

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 […]

Code-First Database Design with Entity Framework and PostgreSQL

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 […]

Redis cache for PostgreSQL in Entity Framework 6

It’s time to sum up all C# 6 features. Here is a list of all goodness with short examples implemented and tested in Visual Studio 2015. nameof String interpolation Null-conditional (?. and ?[]) and null-coalescing (??) operators Index initializers Extension methods visible in collection initializers Exception filters Auto-property initializers Expression-bodied members Static using Extended async / await support I’ve also found few features that were planned to be included in C# 6 but finally where dropped. Parameterless constructors in structs – details in New Features in C# 6 article from November 2014 Primary constructions – details in The New and […]

All C# 6 features with short examples