C#

LINQ library – Part 5

Last time I covered the internals of my SQL-Server unit-of-work strategy. I also demonstrated how that strategy could be plugged into a unit-of-work using a working bit of example code. This time I’ll quickly cover my SQL-Lite and in-memory strategies. […]

LINQ library – Part 4

Last time we walked through the EntityFrameworkUnitOfWorkStrategyBase class, and saw how it implements the behaviors that are common to any flavour of Entity Framework database strategy, whether that be for SQL-Server, SQL-Lite, or in-memory. This time, we’ll see how the […]

LINQ library – Part 2

Last time I talked about the background and purpose for my LINQ library, which provides a thin CRUD layer over a variety of database technologies. I covered the unit-of-work part of that library, along with the internals for the corresponding […]

LINQ library – Part 1

Background Most of the time when I’m writing database code on behalf of a customer, I do what most .NET developers probably do, which is to write a repository class and then implement it using either ADO.NET classes, or Entity […]

Temporary File Stream

Photo by Dil Assi on Unsplash One of the tools I use for generating temporary files is a class I wrote about eight years ago called TempFileStream. The class combines several useful aspects of working with temporary files, including: (1) code to generate […]

Mixed Base Formatter

Photo by Ales Nesetril on Unsplash Introduction The .NET framework provides a variety of options for converting objects, enums and structs into string representations. The trusty ToString method is always handy and, of course, there are plenty of variants that allow for the […]

Plugin – part 3

Review Last time I covered the internals of the CG.Plugin.FileSystem NUGET package, which contains a loader strategy for the CG.Plugin NUGET package. This time I’ll cover another loader strategy, this time one from the CG.Plugin.Reflection package. That package uses reflection […]

Plugin – part 2

Review Last time I covered the internals of the CG.Plugin NUGET package, which contains a plugin mechanism for .NET applications. In that article I left out the implementation of the loader strategies, which is the code that loads the command […]