public async Task <ResponseModel <UserComposite> > QueryUser(string email, IncludeOptions options = IncludeOptions.None)
        {
            TableQuery <EmailEntity> query = new TableQuery <EmailEntity>().Where(EmailEntity.QueryKey(email));
            var rs = await QueryEntities <EmailEntity>(query);

            if (rs.Code != ResponseCode.Ok)
            {
                return(ResponseModel <UserComposite> .Error(rs.Code, rs.Message));
            }
            if (rs.Data[0].Email.UserId == null || rs.Data[0].Email.UserId == Guid.Empty)
            {
                return(ResponseModel <UserComposite> .Error(ResponseCode.NotFound));
            }
            return(await QueryUser(rs.Data[0].Email.UserId, options));
        }
        public async Task <ResponseModel <EmailComposite> > QueryEmail(string email, IncludeOptions options = IncludeOptions.None)
        {
            EmailComposite           c     = new EmailComposite();
            TableQuery <EmailEntity> query = new TableQuery <EmailEntity>().Where(EmailEntity.QueryKey(email));
            var rs = await QueryEntities <EmailEntity>(query);

            if (rs.Code != ResponseCode.Ok)
            {
                return(ResponseModel <EmailComposite> .Error(rs.Code, rs.Message));
            }
            c.Email = rs.Data[0].Email;
            if ((options & IncludeOptions.Entities) == IncludeOptions.Entities)
            {
                c.EmailEntity = rs.Data[0];
            }
            return(ResponseModel <EmailComposite> .Success(c));
        }