public static ClassJoinCacheDependDefineMetadata Create <TRegionEntity, TValueEntity>(string regionName, Func <TValueEntity, object> regionValueFunc) { if (String.IsNullOrEmpty(regionName)) { throw new ArgumentNullException("regionName"); } if (regionName != CacheKeyUtil.DefaultRegionName && regionValueFunc == null) { throw new ArgumentNullException("regionValueFunc"); } var define = new ClassJoinCacheDependDefineMetadata() { EntityType = typeof(TRegionEntity), RegionName = regionName, RegionValueFunc = (o) => regionValueFunc((TValueEntity)o) }; return(define); }
/// <summary> /// 表示当前缓存依赖于给定类型的属性 /// </summary> /// <typeparam name="TRegionEntity"></typeparam> /// <param name="property"></param> /// <param name="valueFunc"></param> /// <returns></returns> public ClassJoinCacheDefine <TEntity, TJoin> Depend <TRegionEntity>(string regionName, Func <TEntity, object> valueFunc) { metadata.CacheDepends.Add(ClassJoinCacheDependDefineMetadata.Create <TRegionEntity, TEntity>(regionName, valueFunc)); return(this); }
/// <summary> /// 表示当前缓存依赖于给定的类型 /// </summary> /// <typeparam name="TRegionEntity"></typeparam> /// <returns></returns> public ClassJoinCacheDefine <TEntity, TJoin> Depend <TRegionEntity>() { metadata.CacheDepends.Add(ClassJoinCacheDependDefineMetadata.Create <TRegionEntity>()); return(this); }