4 09 2017
In multi-tenant applications where tenants share same data store cross-tenant operations must be avoided. There are many ways how bugs like this can happen. Be it hard to debug threading issue or some other complex situation, it is better when application components are ready for this kind of situations and better fail instead of going to glory end with illegal operations. This blog post introduces defensive database context that throws exception when data from other tenants is about to be updated.
29 08 2017
My saga on supporting multiple tenants in ASP.NET Core web applications has come to point where tenants can use separate databases. It’s time now to write some tests for data context to make sure it behaves correct in unexpected situations. This post covers unit tests for data context and multi-tenancy.
23 08 2017
Let’s continue with multi-tenancy in ASP.NET Core web applications and focus on solutions where every tenant has its own database. It’s not only about database – there can be more services where every tenant has its own instance. It makes solution provided here easily extendable to also other services besides SQL Server or any other relational database.
22 08 2017
In my previous post about global query filters in Entity Framework 2.0 I proposed an idea how to automatically apply filters to all entities so they are always coming from same tenant. This post digs deeper to possible solutions for detecting current tenant in ASP.NET Core we applications.
16 08 2017
Entity Framework Core 2.0 introduces global query filters that can be applied to entities when model is created. It makes it easier to build multi-tenant applications and support soft deleting of entities. This blog post gives deeper overview about how to use global query filters in real-life applications and how to apply global query filters […]
15 08 2017
Entity Framework Core 2.0 was announces yesterday and it brings some new and cool features. One of them is SQL Like-operator we can use now using directly in our code. Here is the example of using new Like-operator.
14 08 2017
Today Microsoft announced versions 2.0 of .NET Standard, .NET Core, ASP.NET Core and Entity Framework Core. Also new updated to Visual Studio 2017 are available (both stable and preview version). This blog post is summary of most important features announced today.
26 06 2017
I needed flexible solution to keep measurements with target values in SQL Server database. After some playing with tables and functions I came out with simple, clean and flexible solution that fits also well for many other scenarios besides the one I had to support. This blog post summarizes my work and provides all SQL stuff needed to reproduce it.
30 05 2017
One of my applications displays tables with some calculations about users working time. This is for corporate reporting. For this table I needed a way to find how many weekends days are in given month. As most of calculation work is done in SQL Server stored procedure I decided to keep stuff there and found a way how to get weekend days with common table expression.
24 05 2017
ASP.NET Core 2 comes with Razor Pages that allow developers to build simple web applications with less overhead compared to MVC. The emphazise is on the word “simple” as Razor Pages doesn’t come with patterns suitable for bigger and more complex applications. For this we have MVC that is flexible enough to build applications that will grow over years. This blog post uses simple shoutbox application to illustrate how to build applications using Razor Pages.
2 05 2017
Micro ORM-s are useful small ORM-s that are lightweight and map between objects and database queries. This blog post discusses when to use Micro ORM-s and provides example code where Micro ORM called Dapper is used.
7 04 2017
ASP.NET Core supports also distributed cache solutions. Out-of-box there is support for SQL Server and Redis based distributed caches. This blog post focuses to SQL Server based cache we can use when there are really no better options.
9 01 2017
Paging query results is timeless topic and some days ago I got question about how to do it with Entity Framework Core. Using my previous work on paging I wrote some simple extension methods that work with IEnumerable and IQueryable interfaces. There’s also method that maps entities to models.
16 11 2016
I published to Github sample temperature measuring solution that runs on Windows 10 IoT Core and that is built on Visual Studio. Source code with basic documentation is available too. This demo project is there to give some starting point to those who are visiting my Brewing Eisbock with Raspberry PI and Windows 10 IoT sessions in different conferences.
27 02 2016
I have local database where I insert some data and I want this data to be available also in cloud. As a lazy guy I don’t want to synchronize data manually. After setting up local and cloud databases I activated Azure Data Sync to just find out that it conflicts with EF7 insert and update queries. As I don’t have many tables and my database is pretty small I invented simple workaround.
4 02 2016
We are eager to try out our beer cooling solution and we want to see it in action. We want to visualize our data and keep eye on temperature of cooling beer. Before doing anything more complex like building web or mobile app we make a quick shortcut and bring our data to web, desktop and mobile. This post is about Power BI in action.
3 02 2016
When cooling beer we want to store history of temperatures for two reasons. First, it gives us valuable history data for next cooling sessions. As a second thing we can ask measurements when we temporarily lost connection with IoT Hub. In this posting we make some analyzis and then build up database for our beer cooling solution.
10 10 2013
Lately I had one weird experience on with running NHibernate on Windows Azure and I think it’s worth to share with you. NHibernate is matured industry-level ORM that is proven itself over years. Although it is not so easy to use as Entity Framework it is still my favorite due to flexibility and wide databases […]
17 07 2013
Some business systems use simple change tracking. User name and timestamp are saved when object is created and modified. In this posting I will show how to do it easily with NHibernate.
3 06 2013
Visual Studio database projects support database post-deployment scripts you can use to make additional modifications to database or to insert some test data. In my work I use database projects and post-deployment scripts very often. In this posting I will introduce you how to use post-deployment scripts to make dealing with database and data easier for developers.