/// <summary> /// 定义对象属性为缓存区域 /// </summary> /// <param name="dependProperty"></param> public void CacheRegion(string regionName, Func <TEntity, object> regionValueFunc) { regionName = regionName ?? DefaultRegionName; if (metadata.CacheRegionDefines.ContainsKey(regionName)) { throw new ArgumentException("已经定义了命名为 {0} 的缓存区域。", regionName); } metadata.CacheRegionDefines.Add(regionName, ClassCacheRegionDefineMetadata.Create <TEntity, TEntity>(regionName, regionValueFunc)); }
public static ClassCacheRegionDefineMetadata 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 ClassCacheRegionDefineMetadata() { EntityType = typeof(TRegionEntity), RegionName = regionName, RegionValueFunc = (o) => regionValueFunc((TValueEntity)o) }; return(define); }