.NET Core 1.1 – including ASP.NET Core and Entity Framework Core – was just released at the time of the Connect(); event. With it came some interesting features and improvements.
Before you start using version 1.1 you need to make sure you install the .NET Core 1.1 SDK from https://www.microsoft.com/net/download/core. If you don’t, some stuff will not work properly.
Here are some highlights.
You new have URL rewriting middleware that can consume the same configuration file as the IIS URL Rewrite Module.
Also new is Caching middleware, bringing what was Output Cache in ASP.NET Web Forms to Core Land.
GZip compression is also starring as a middleware component.
Middleware components can now be applied as global attributes. Seems interesting, but I don’t know how this works, because we can’t specify the ordering.
Next big thing is WebListener. It’s another HTTP server, but this time tuned for Windows. Because it this, it supports Windows authentication, port sharing, HTTPS with Server Name Indication (SNI), HTTP/2 over TLS (on Windows 10), direct file transmission, and response caching WebSockets (on Windows 8 or higher).
Temp data can now be stored in a cookie, as with MVC pre-Core.
Finally, something that was also previously available is view precompilation. Now you can build your views at compile time and get all errors ahead of time.
Not all is here, though: for example, mobile views are still not available.
Entity Framework Core
The Find method is back, allowing us to load entities by their primary keys. As a side note, I have published a workaround for this for the initial version of EF Core 1.0. Same for Reload, GetModifiedProperties and GetDatabaseValues.
Explicit loading for references and collections is also here.
Connection resiliency, aka, the ability to retry a connection, also made its move to version 1.1, similar to what it was in pre-Core.
Totally new is the support for SQL Server’s Memory Optimized Tables (Hekaton).
Now we can map to fields, not just properties! This was an often requested feature, which helps follow a Domain Driven Design approach.
Also new is the capacity to change a specific service implementation without changing the whole service provider at startup.
There are more API changes and apparently LINQ translation has improved substantially. Time will tell!
A lot is still missing from pre-Core, see some of it here.
First of all, .NET Core 1.1 can now be installed in more Linux distributions than before and also in MacOS 10 and in Windows Server 2016.
The dotnet CLI has a new template for .NET Core projects.
.NET Core 1.1 supports .NET Standard 1.6.
Lots of performance improvements, bug fixes and imported APIs from .NET full.
Read more about it here: https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/ and here: https://github.com/dotnet/core/tree/master/release-notes/1.1.