Recent Posts

C# Source Generators - File New to NuGet

14 minute read

C# Source Generators are an exciting feature to allow automatic generation of code. Generators have been out of preview for several months, but getting start...

Branched Models and EFCore Performance

4 minute read

When we have a branched model like the one shown here that needs to be loaded by Entity Framework Core all at once, we need to consider the size of the model...

Easily Compare any SQL Server Queries or Tables

5 minute read

I’m excited to announce that this last week I have released a new project (source code), which is hosted here. Its a free utility that generates SQL Server s...

Snippets to Fix FxCop CA1062

3 minute read

If you run FxCop you may frequently run into CA1062: Validate arguments of public methods. Below are three snippets to make writing this boiler plate a bit e...

System Versioning 4 - Avoid No-Op Updates

1 minute read

When updating a row of data, SQL Server does not check if the new values and the old values are the same before performing the update. This often isn’t a con...

System Versioning 2 - Concurrent Transactions

5 minute read

In the second installment of this series we are going to look at how concurrent transactions behave differently with System Versioned tables, compared to sta...

System Versioning 1 - When is SysStart

4 minute read

System versioning was introduced in SQL Server 2016. Its an excellent option for logging changes to data in sensitive systems and as with all complex systems...