添加用戶判斷用戶名是否存在


在項目中,我們添加一個賬戶,用戶名或者登錄名等可能要求不能重復,方法如下:

參考項目中的這個寫法:

 /// <summary>
        /// 賬戶不能重復
        /// </summary>
        /// <param name="account">賬戶值</param>
        /// <param name="keyValue">主鍵</param>
        /// <returns></returns>
        public bool ExistAccount(string account, string keyValue)
        {
            var expression = LinqExtensions.True<UserEntity>(); expression = expression.And(t => t.Account == account); if (!string.IsNullOrEmpty(keyValue)) { expression = expression.And(t => t.UserId != keyValue); } return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false; }

修改用EF寫法:

/// <summary>
        /// 賬戶不能重復
        /// </summary>
        /// <param name="account">賬戶值</param>
        /// <param name="keyValue">主鍵</param>
        /// <returns></returns>
        public bool ExistAccount(string account, string keyValue = "")
        {
            var data=db.Sys_User.Where(t => t.Account == account); if (!string.IsNullOrEmpty(keyValue)) { data = data.Where(t => t.UserId != keyValue); } return data.Count() == 0 ? true : false; }

 傳遞keyValue,用於排除自我,這種情況用在登錄用戶等會后去修改自己的用戶名,在修改過程中,用戶突然改變想法還是用老的用戶名,這時候如果不排除自我,會顯示用戶名已經存在,所以加了一個

   if (!string.IsNullOrEmpty(keyValue))
            {
                data = data.Where(t => t.UserId != keyValue);
            }

這個方法!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM