بررسی موجود بودن نام کاربری
اهمیت: عادی نوع: ارائه ایده و پیشنهاد شماره نگارش: Decision.7z
در متد CheckUserNameExist از ()ToList  استفاده شده است. البته متد string.Equals  با پارامتر InvariantCultureIgnoreCase به صورت in-memory هست و باید از ()ToList استفاده شود. (توضیحات ) 
اگر تعداد زیادی کاربر  داشته باشیم شاید آوردن این اطلاعات به memory کار درستی نباشد. شاید کد زیر عملکرد بهتری داشته باشد:
استفاده از string.Compare با پارا متر InvariantCultureIgnoreCase بدون استفاده از ()ToList  :
public Task<bool> CheckUserNameExist(string userName, Guid? id)
        {
            return id == null
                ? _users.AnyAsync(a => string.Compare(a.UserName, userName, StringComparison.InvariantCultureIgnoreCase) == 0)
                : _users.AnyAsync(a => string.Compare(a.UserName, userName, StringComparison.InvariantCultureIgnoreCase) == 0 && a.Id != id.Value);

        }