Skip to content

Sponsor: Using RabbitMQ or Azure Service Bus in your .NET systems? Well, you could just use their SDKs and roll your own serialization, routing, outbox, retries, and telemetry. I mean, seriously, how hard could it be?

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

EF Core Multi-Tenancy: Query Filter

There are many different ways to handle multi-tenancy.  This blog post will cover one approach to EF Core Multi-Tenancy that will work if you are using a shared database approach, meaning you use the same database for multiple tenants, that are disambiguated using tenant ID column. If you want more details on Multi-Tenancy, check out the Microsoft Docs on the topic, related to designing multi-tenant apps using Azure SQL Database. Entity Let’s jump right into some sample code of a simple Entity that represents a customer.  Notice the TenantId. View the code on Gist. Filter The approach we are going… Read More »EF Core Multi-Tenancy: Query Filter

Entity Framework Code First Model Cache

With the release of Entity Framework 6.2, it introduces the Entity Framework Code First Model Cache.  Giving you the ability to load a prebuilt edmx when using code first, instead having EF generate it on startup. This can provide a some savings on startup time. With these changes, first AppDomain calls to context.Database.Initialize for a model with just over 600 models and a null initializer dropped from 12-14 seconds to about 1.9 seconds after the edmx was written, saving 10-12 seconds on initialization. The first call to write the edmx still ran in 12-14 seconds (no noticeable delay added). #275… Read More »Entity Framework Code First Model Cache

Null Hot Potato

First, full credit for the term “Null Hot Potato” goes to Reid Evans.  He was presenting his talk “C# Without Nulls or Exceptions” at our local Windsor-Essex .NET Developers group.  I don’t want to give away the talk, because I hope it gets posted online so you can watch it yourself.  But I do want to dive into this one specific thing that Reid described as of the Null Hot Potato. Not My Problem It’s really a case of passing the responsibility.  If your method handles null with null checks, but returns null, your just “passing the buck”.  You’re basically… Read More »Null Hot Potato