StructureMap - dotnet core package a day - 2
Overview
This post is part of a series, dotnet core package a day, where for 15 days I will be posting an overview of an awesome OSS dotnet package that already has support for dotnet core. In this post we will cover Dapper.
Dapper is a NuGet library that you can add in to your project that will extend your IDbConnection interface.
Dapper is a micro ORM for the dotnet framework, it's lightweight and easy to use. At the time of writing it has 2,708,300 downloads on NuGet. The publish of it's v1.50.0 release to NuGet on the 1st July 2016 added support for dotnet core (.net standard 1.3).
Dapper development is led by Nick Craver and Marc Gravell but it is very much a community project, it currently has 100+ contributors.
I am using Dapper quite heavily as part of a migration to dotnet core at Open Energy Market and having used it on a number of other projects too I have always appreciated it's simplicitly, I'm super happy it's already available on dotnet core.
What the community thinks
Massive thanks to Nick, Marc, and the wider community.
Links
Alternatives
Alternatives include PetaPoco but it does not currently have dotnet core support. In fact, I don't think any of the other ORM libraries we would consider micro (Massive, Simple.Data etc) currently have dotnet core support either.
If you don't want to keep checking back for more posts in this series but do want an email in your inbox then you can subscribe to the mailing list below.
Overview
This post is part of a series, dotnet core package a day, where for 15 days I will be posting an overview of an awesome OSS dotnet package that already has support for dotnet core. In this post we will cover StructureMap.
In my opinion StructureMap is one of the most well thought out container libraries on the .net framework . At the time of writing it has 1,741,273 downloads on NuGet. Here is the official take on it:
StructureMap is the oldest, continuously used IoC/DI container for .Net dating back to its first public release and production usage all the way back in June 2004 on .Net 1.1. The current 4.* release represents 12+ years of lessons learned in the StructureMap and greater .Net community – while also wiping away a great deal of legacy design decisions that no longer make sense today.
StructureMap development is led by Jeremy Miller and is actively developed, it offers dotnet core support and has done for over 6 months. The publish of its v4.3.0 release to NuGet on the 1st August 2016 was the first version to support dotnet core (.net standard 1.3 and .net standard 1.5). There is also support to play nicely with the new Microsoft.Extensions.DependencyInjection default container, this is available as a seperate package.
I am using StructureMap quite heavily as part of a migration to dotnet core at Open Energy Market and have found it intuitave and easy to use. The favoured container library in the past was Ninject but at the time of writing there are only beta packages available with dotnet core support. Moving to StructureMap has been friction free and as pleasurable to use as any container library.
What the community thinks
Links
- StructureMap Website
- StructureMap GitHub
- Getting Stared Guide
Massive thanks to Jeremy and the community.
Alternatives
Some other alternatives with dotnet core support.
- Microsoft's own *Wash your mouth out, j/k
- Autofac
If you don't want to keep checking back for more posts in this series but do want an email in your inbox then you can subscribe to the mailing list below.