示例#1
0
        /// <summary>
        /// 在用户数据库中创建一个新的用户实体对象。
        /// </summary>
        /// <param name="username">新用户的用户名。</param>
        /// <returns>新创建的用户的句柄。</returns>
        /// <exception cref="ArgumentNullException"/>
        /// <exception cref="UsernameAlreadyExistsException"/>
        public UserHandle CreateUser(string username)
        {
            if (username == null)
            {
                throw new ArgumentNullException(nameof(username));
            }
            if (IsUserExist(username))
            {
                throw new UsernameAlreadyExistsException(new UserHandle(username));
            }

            UserProfileEntity entity = new UserProfileEntity()
            {
                Username = username,
            };

            // 将实体数据对象添加到数据库中。
            m_factory.WithContext(context =>
            {
                context.AddUserProfileEntity(entity);
                context.SaveChanges();
            });

            return(new UserHandle(username));
        }