public static int CountUserAccessTokenByQuery(UserAccessTokenQuery query)
        {
            using (var context = new XiaoluEntities())
            {
                var repository = new UserAccessTokenRepository(context);

                int count = repository.GetPageCount(item => _isMatch(item, query));
                return count;
            }
        }
 private static dynamic _orderByKey(UserAccessToken obj, UserAccessTokenQuery query)
 {
     if (string.IsNullOrEmpty(query.OrderByKey))
         return obj.Id;
     return obj.GetType().GetProperty(query.OrderByKey).GetValue(obj);
 }
        public static List<UserAccessToken> GetUserAccessTokenListByQuery(UserAccessTokenQuery query)
        {
            using (var context = new XiaoluEntities())
            {
                var repository = new UserAccessTokenRepository(context);

                List<UserAccessToken> userAccessTokens = repository.GetPageList(item => _isMatch(item, query), item => _orderByKey(item, query), query.OrderByValue, query.Offset, query.Limit);
                return userAccessTokens;
            }
        }
        public static bool _isMatch(UserAccessToken obj, UserAccessTokenQuery query)
        {
            if (!string.IsNullOrEmpty(query.IdEqual) && !string.Equals(obj.Id, query.IdEqual))
                return false;
            if (!string.IsNullOrEmpty(query.IdNotEqual) && string.Equals(obj.Id, query.IdNotEqual))
                return false;

            if (!string.IsNullOrEmpty(query.UserIdEqual) && !string.Equals(obj.UserId, query.UserIdEqual))
                return false;

            if (!string.IsNullOrEmpty(query.AccessIdEqual) && !string.Equals(obj.AccessToken, query.AccessIdEqual))
                return false;

            if (!string.IsNullOrEmpty(query.WeixinIdEqual) && !string.Equals(obj.WeixinId, query.WeixinIdEqual))
                return false;

            return true;
        }
 public static UserAccessToken GetUserAccessTokenById(string id4query)
 {
     UserAccessTokenQuery query = new UserAccessTokenQuery() { IdEqual = id4query };
     UserAccessToken userAccessTokenInDb = GetUserAccessTokenListByQuery(query).FirstOrDefault();
     return userAccessTokenInDb;
 }