public static async Task <UserReference?> GetOrCreateUserReferenceAsync(this IDataContext context, IIdentity identity)
        {
            if (!identity.IsAuthenticated)
            {
                return(null);
            }

            return((await context.Users.AsTracking().Where(u => u.ExternalId == identity.ExternalId).SingleOrDefaultAsync())
                   ?? identity.AsUserReference());
        }