コード例 #1
0
        /// <summary>
        /// Returns the relation with the given id.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public override Relation GetRelation(long id)
        {
            string        relationKey   = PrimitiveExtensions.BuildRelationRedisKey(id);
            RedisRelation redisRelation = _clientRelation.GetValue(relationKey);
            Relation      relation      = null;

            if (redisRelation != null)
            {
                relation = PrimitiveExtensions.ConvertFrom(redisRelation);
            }
            return(relation);
        }
コード例 #2
0
        /// <summary>
        /// Returns all relations for the given ids.
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public override IList <Relation> GetRelations(IList <long> ids)
        {
            List <string> keys = new List <string>();

            foreach (int id in ids)
            {
                string relationKey = PrimitiveExtensions.BuildRelationRedisKey(id);
                keys.Add(relationKey);
            }
            List <RedisRelation> redisRelations = _clientRelation.GetValues(keys);
            List <Relation>      relations      = new List <Relation>();

            foreach (RedisRelation redisRelation in redisRelations)
            {
                Relation relation = PrimitiveExtensions.ConvertFrom(redisRelation);
                relations.Add(relation);
            }
            return(relations);
        }
コード例 #3
0
 /// <summary>
 /// Builds a redis key for this given relation.
 /// </summary>
 /// <param name="relation"></param>
 /// <returns></returns>
 public static string GetRedisKey(this Relation relation)
 {
     return(PrimitiveExtensions.BuildRelationRedisKey(relation.Id.Value));
 }