Here at Atlas, our primary languages are .NET and C#, so our software development team have picked their favourite .NET and related books so that you can expand your knowledge and become a better C# .NET software developer.

C# 6.0 and the .NET 4.6 Framework

by Andrew Troelsen and Philip Japikse

This book is not for absolute beginners, but for those with some programming experience, it does give a good overview of pretty much every aspect of the C# paradigm and the latest version of .NET.

For a developer who is new to C# and Visual Studio, it is a very approachable book.

The most impressive thing about this book is that it does cater for intermediate developers as much as for experienced developers, but does it in a way that is effective and practical, with a careful combination of code demos supported by just enough text and theory to explain what is going on in the code.

Programming Entity Framework

by Julia Lerman

This book is regarded as the ‘bible’ on the Entity Framework, and it probably is.

While the book covers the Entity Framework in detail and certainly needs to be read to fully appreciate how the Entity Framework can speed-up software development time, especially on greenfield projects, the author does spend a lot of time explaining .NET concepts as if the reader is an inexperienced developer.

That’s great if you are, but it increases the page count considerably. That said, it’s easy to skim, while still gleaning all the important Entity Framework details you will need for day-to-day use.

It’s also an ‘equal opportunities’ book for VB.NET and C# developers alike, with all examples in each language. The book also gives you a good understanding of how the Entity Framework operates and how to harness it to build a strong Data Access Layer (DAL).

This book is very easy to follow and comprehend and is an excellent introduction to learning the Model View Control (MVC) framework. The examples in the book are well documented and all the possible questions you might end up asking are answered.

You don’t need to type it all into Visual Studio, the source code and listings are shown just where they are needed, even if repeated, with any small changes to the source code shown in bold.

It’s a good book to get yourself up to speed with MVC 5. It covers many different concepts of .NET MVC and the advantages of using MVC over web forms. It also covers a wide range of topics related to MVC 5 and has clear explanations and examples.

The author explains all ASP.NET MVC concepts clearly and comprehensively and we recommend this book for experienced C# developers who are novice ASP.NET programmers.

Dependency Injection in .NET

by Mark Seemann

This book is not only about Dependency Injection (DI), but about designing your application in general.

The book is a real roundup of design patterns and good practices for future software developers. We recommend this book for developers who have never heard about IoC (Inversion of Control) and for those developers who have been using IoC for some time.

The author focuses on designing loosely coupled applications and he shows how DI can help us do it. He mentions a lot of design patterns and explains how they are associated with DI. He also provides the reader with a lot of examples using different IoC containers.

The last chapter contains a catalogue of a few popular .NET IoC containers (StructureMap, Castle Windsor, Autofac, Unity, MEF).

C# in Depth

by Jon Skeet

As the title suggests this is a book for experienced software developers who really want to get under the hood of the C# language.

Covering previous versions of the language is a good way to show how things have evolved (and is another reason why it’s not a book for beginners).

The book dives a little deeper into the language as it is today helping you to be a better software developer by understanding how C# has evolved. When put in context some of the more complicated aspects just fall into place.

Great for those of us who more recently started using C# or anyone who has got left behind and wants a quick and easy way to catch up.

A great book best used in combination with C# 5.0 in a Nutshell: The Definitive Reference.

Programming WCF Services: Design and Build Maintainable Service-Oriented Systems

by Juval Lowy and Michael Montgomery

This is possibly the only book you will ever need on all things Windows Communication Foundation (WCF).

This book is an essential read for software developers using WCF. We purchased it mainly for Azure and service bus information, but it also covers the architecture of atomic web-services that just happen to be available in WCF, you could use this book and not use classic WCF.

Whilst WCF came from the BizTalk end of the spectrum and we now have the WebAPI from the MVC end of the spectrum, don’t assume that this book is not for you.

A WebAPI book is about a tenth of the size of this book, but WCF can do 10 times more. It’s very easy to set up WCF to emit JSON, and WCF also has great service monitoring capability, as well as great scaling.

C# 5.0 in a Nutshell: The Definitive Reference

by Joseph Albahari and Ben Albahari

As a working software developer, you may never need to know everything that this book contains.

However, it is the best accompaniment for any software developer who works with C# daily.

Thankfully it does not assume that the reader is an expert, but develops your knowledge of the fundamentals first. You may be surprised at how much of the basic knowledge you have forgotten over the years.

This is also a great book to learn more about the new features in .NET, and not just at a basic level, but at a refreshingly advanced programming level in certain cases.

The examples are perfect for experimenting with the new features of C# 5.0 and .NET 4.5. This book will help the absolute beginner software developer, as well as the seasoned veteran software developer.

This book is comprehensive and covers all the topics you’d expect to find in a Windows Forms and Custom Controls book.

The code examples are clear and comprehensively detailed to convey the required information.

The book is also an excellent reference for software developers wanting a quick, concise overview of WinForms and Custom Controls, as this book enables the reader an opportunity to really come to an understanding of Windows Forms GUI presentation but, also allows the reader to casually explore the more in-depth aspects of forms layout and design.

Every time we have a question regarding an issue in Windows Forms or with Custom & User Controls, we can usually find the answer in this book.

C# 3.0 Design Patterns

by Judith Bishop

A good book, but you must have a fundamental foundation in Object Orientated Programming (OOP) if you’re seeking to progress.

This book covers a broad spectrum of Design Pattern parameters software developers will come across in their careers. The book is very good for those already developing with .NET and C# and it focuses on the patterns from the original classic text ‘Design Patterns’.

The structure of the book makes it an easy read with good real-life examples of the use of patterns and class by class explanations of the theoretical examples that are initially presented for each pattern.

The examples have been created specifically for the .NET language and differ from some of the other less language-specific examples that can be found that do not make efficient use of the .NET language.

This is not a book for absolute beginners to learn C#, but it is good as a programmer’s reference especially if you have written in object-oriented (OO) languages before (e.g. C++).

The book contains examples but also explains clearly and comprehensively each concept. It’s thorough and detailed in many areas where other books aren’t. It isn’t a book that focuses just on forms and Visual Studio, this book gives you a solid language foundation.

You’re going to find this book covers a very wide range of the language and lots of concepts. A must-have if you’re going to do any serious C# software development.

A worthwhile book that every .NET software developer should get their hands on, just so that they can go back and refresh their knowledge from time to time.

That is the list of our most used Microsoft .NET books for beginners as well as the seasoned veteran software developers – please feel free to add your recommendations in the comments below.