The first release candidate of EF Core 2.1 is now available with support for lazy loading, parameters in entity constructors, and LINQ GroupBy translation. EF Core is the lightweight cross-platform version of Entity Framework, the Object/Relational Mapping (O/RM) framework for .NET.

While this is a minor release, there are a number of improvements, many promised when EF Core 2.0 was released last year. The improvements start with the support for lazy loading. EF Core now has the building blocks for developers to write entity classes that can load their navigation properties on demand. There's also a new package, Microsoft.EntityFrameworkCore.Proxies, that uses those building blocks to produce lazy loading proxy classes based on minimally modified entity classes.

The second improvement is actually part of the lazy loading addition. Entities that can take parameters in their constructor had to be added as one of the required building blocks for lazy loading, but can also be used in their own right. You can use parameters to inject property values, lazy loading delegates, and services.

The LINQ operator has also been improved to translate the SQL Group By clause. Until now, the GroupBy LINQ operator has always had to be evaluated in memory. Another improvement to queries means that an EF Core model can now include query types.These are read only, and don't have keys defined on them, but they can be returned directly by queries. They are intended for use if you're mapping to views or tables without primary keys, or mapping to queries defined in the model.

Value conversions are another addition to this release, meaning you'll be able to transform the values obtained from columns before they are applied to properties, and vice versa. Until now, EF Core could only map properties of types natively supported by the underlying database provider. This feature means you'll be able to store enums as strings; map unsigned integers with SQL Server; and carry out transparent encryption and decryption of property values.

Amazon has launched a database that's compatible with the MongoDB API, but doesn't use any MongoDB code. The move is being seen as a counter-move to MongoDB's attempt to make Amazon pay up for using i [ ... ]