Intro to Object Relational Mapping (ORM)

Object-Relational Mapping, or ORM, is a way of allowing you to access data in your database in the form of objects in your code. It is essentially a piece of code that sits alongside your code, and from there you can access database objects such as tables in the form of code objects. As it says, you can essentially break it down to mapping of objects to a relational database. … Continue reading Intro to Object Relational Mapping (ORM)

Visual Studio – Change and Install Color Theme

Visual Studio comes with different color themes. When opening Visual Studio for the first time, you may see a theme something like below: To change this theme, go to Tools->Options: From Environment, select General: Here we can see the color theme is set to “Blue”. Select a different color theme from the list: Here we have selected the Dark theme: You can also install new themes. To install a new … Continue reading Visual Studio – Change and Install Color Theme

Visual Studio Code Introduction

Visual Studio Code is a lightweight tool from Microsoft used for software development. It is fast, cross-platform and supports intellisense and debugging. You can follow Visual Studio Code at: To install it, go to and select Download: Select the download link for your operating system. We will select Windows and run the executable: Click Next: Click Next: Click Next: Click Next: Click Next: Click Install: Click Finish: Visual Studio Code will … Continue reading Visual Studio Code Introduction

SSDT Analysis Services and Reporting Services Projects in Visual Studio 2017

If you try to open old Analysis Services smproj or Reporting Services projects in Visual Studio 2017 you may run into an unsupported error. To install the required templates, go to: Select the Download link: Then for Reporting Services go to: Select Download: You will now be able to create and load analysis services and reporting services projects in Visual Studio:  

Visual Studio 2017 Install

Go to and download the version you require. Run the download. I will install Professional. Select the components you would like to install and note the additional components in the Summary when you select a workload: Select Individual Components to install additional software: And Language Packs if required: Select Install on the bottom right: Once completed: Visual Studio will open:  


Nuget is a package manager for the Microsoft platform. It runs within Visual Studio. To use it, open Visual Studio and go to Tools->NuGet Package Manager: Select Manage NuGet Packages for Solution and you will be able to see what is already installed and if there are any updates available. You can also install new packages. To update, select Updates, select the package to update and click Update: You can also use … Continue reading NuGet

Installing and Using ILSpy

ILSpy is an assembly browser and decompiler. Here we will go through installing and using ILSpy. First, download the binaries from the ILSpy website: This will download a ZIP file. Extract the file: Run the ISpy.exe: Click to open a file: Here I have selected an exe compiled from code I previously wrote. You can see we can now see the decompiled code within ILSpy:  

Dependency Inversion Principle

Dependency Inversion Principle (DIP) is a software development principle that reduces coupling between code. Robert C Martin explains DIP: High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. Consider if you have an object that calls another object. The higher level object is dependent on the lower level object; making changes to the lower level object … Continue reading Dependency Inversion Principle

Don’t Repeat Yourself

Don’t Repeat Yourself (DRY) is a software development principle that prevents waste through the repetition of code. When code is designed and developed, it should be abstract. As a result of abstraction, the code is easier to maintain and extend. Smarter code leads to less code waste, which leads to better software. Imagine if you find a bug in one part of your code, and the bug is repeated in … Continue reading Don’t Repeat Yourself

Separation of Concerns

Separations of Concerns (Soc) is a design principle in software development. The idea is to separate code based on the function and logic. A typical example is the separation of code that performs business logic, and the code that displays this to the user. This code should exist independently; if a developer were to write code that performed both these functions together, it would be a violation of the principle. … Continue reading Separation of Concerns