I use Entity Framework 7 with Npgsql adapter. Sql generated by EF seems like
SELECT \"r\".\"Id\", \"r\".\"Name\" FROM \"public\".\"Role\" AS \"r\"
As you can see in NpgsqlSqlGenerationHelper.cs:
static bool RequiresQuoting(string identifier)
{
var first = identifier[0];
if (!char.IsLower(first) && first != '_')
return true;
Npgsql thinks that identifiers that start with upper-case letter needs quoting. After a bit of thinking I implemented a solution described in https://andrewlock.net/customising-asp-net-core-identity-ef-core-naming-conventions-for-postgresql/ (converts all PascalCase identifiers to snake-case). It is a bit simplistic right now but I how EF Core soon will provide a way to define custom naming conventions.