The main feature of Entity Framework Core Power Tools is the ability to reverse engineer a live database or a SQL Server Database project, and generate customized code with a derived DbContext and entity classes.

Most of the the available options are available via the Options dialog in the tool, but due to limited audience and lack of space, a few options are "hidden" and therefore only discoverable via the Wiki documentation. I plan to make the options more visible, but in the meantime this blog post aims to fix this.

Pluralization

By default the tool uses the Humanizer package for pluralization.

You can optionally switch to use the Entity Framework 6 pluralizer by adding this line to efpt.config.json:

"UseLegacyPluralizer": true,

The legacy pluralizer is based on the NuGet package provided by EF Core team member Brice Lambson here, which is repackage of the original EF6 pluralizer.

SQL Server and PostgreSQL spatial types

You can enable support for mapping of spatial types, by adding this line to efpt.config.json:

"UseSpatial": true,

More info about working with spatial types in EF Core

NodaTime Instant types (PostgreSQL)

You can enable support for NodaTime type mapping, by adding this line to efpt.config.json:

"UseNodaTime": true,

More info about using NodaTime with PostgreSQL and EF Core