public static async Task <TUser> xFindByNameAsync <TContext, TUser, TKey>(this IIdentityUserStoreWithContext <TContext, TUser, TKey> store, string normalizedUserName, CancellationToken cancellationToken = default)
     where TContext : class, IIdentityContext//, IIdentityContext_WithUsers<TKey>
     where TKey : IEquatable <TKey>
     where TUser : class, IIdentityUserWithConcurrency <TKey>
 {
     store.ThrowIfCancelledRequestOrDisposed(cancellationToken);
     return((TUser)await store.Context.DbGetQueryable <TUser>().xFindByNameAsync(normalizedUserName, cancellationToken));
 }
        public static async Task <IdentityResult> xUpdateAsync <TContext, TUser, TKey>(this IIdentityUserStoreWithContext <TContext, TUser, TKey> store, TUser user, CancellationToken cancellationToken = default)
            where TContext : class, IIdentityContext//, IIdentityContext_WithUsers<TKey>
            where TKey : IEquatable <TKey>
            where TUser : class, IIdentityUserWithConcurrency <TKey>
        {
            store.ThrowIfCancelledRequestOrDisposedOrUserNull(user, cancellationToken);
            var dbUser = await store.Context.DbGetQueryable <TUser>().FindByIdAndConcurrencyStampAsync(user, cancellationToken);

            if (dbUser == null)
            {
                return(IdentityResult.Failed(store.ErrorDescriber.ConcurrencyFailure()));
            }
            dbUser.ConcurrencyStamp = Guid.NewGuid().ToString();
            await store.Context.DbUpdateAsync(dbUser, cancellationToken);

            return(IdentityResult.Success);
        }
        public static async Task <IdentityResult> xCreateAsync <TContext, TUser, TKey>(this IIdentityUserStoreWithContext <TContext, TUser, TKey> store, TUser user, CancellationToken cancellationToken = default)
            where TContext : class, IIdentityContext//, IIdentityContext_WithUsers<TKey>
            where TKey : IEquatable <TKey>
            where TUser : class, IIdentityUserWithConcurrency <TKey>
        {
            store.ThrowIfCancelledRequestOrDisposedOrUserNull(user, cancellationToken);
            await store.Context.DbInsertAsync(user, cancellationToken);

            return(IdentityResult.Success);
        }