/// <summary>
 /// Registers the OpenIddict entity mappings in the NHibernate
 /// configuration using the default entities and the specified key type.
 /// </summary>
 /// <param name="configuration">The NHibernate configuration builder.</param>
 /// <returns>The <see cref="Configuration"/>.</returns>
 public static Configuration UseOpenIddict <TKey>([NotNull] this Configuration configuration)
     where TKey : IEquatable <TKey>
 => configuration.UseOpenIddict <OpenIddictApplication <TKey>,
                                 OpenIddictAuthorization <TKey>,
                                 OpenIddictScope <TKey>,
                                 OpenIddictToken <TKey>, TKey>();
 /// <summary>
 /// Registers the OpenIddict entity mappings in the NHibernate
 /// configuration using the default entities and the default key type.
 /// </summary>
 /// <param name="configuration">The NHibernate configuration builder.</param>
 /// <returns>The <see cref="Configuration"/>.</returns>
 public static Configuration UseOpenIddict([NotNull] this Configuration configuration)
 => configuration.UseOpenIddict <OpenIddictApplication,
                                 OpenIddictAuthorization,
                                 OpenIddictScope,
                                 OpenIddictToken, string>();