添加用户判断用户名是否存在


在项目中,我们添加一个账户,用户名或者登录名等可能要求不能重复,方法如下:

参考项目中的这个写法:

 /// <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