示例#1
0
        public static ISession GetSession <TEntity>(this AbstractUserShardRepository <TEntity> repository, long userId) where
        TEntity : class
        {
            var nr = (AbstractRepository <TEntity>)repository;

            return(((NHibernateShardSession <TEntity>)nr.OpenSession(ShardParams.Form(userId))).InnerSession);
        }
示例#2
0
 /// <summary>
 /// 定义规约的分区分表参数
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="spec"></param>
 /// <param name="shardParam"></param>
 /// <returns></returns>
 public static ISpecification <T> Shard <T>(this ISpecification <T> spec, long shardParam1, long shardParam2)
 {
     if (spec == null)
     {
         throw new ArgumentNullException("spec");
     }
     return(spec.Provider.Shard(spec, ShardParams.Form(shardParam1, shardParam2)));
 }
示例#3
0
 public HasManyByForeignKeyDefine Shard(long param1, long param2)
 {
     ShardParams = ShardParams.Form(param1, param2);
     return(this);
 }
示例#4
0
 public virtual TEntity Get(long userId, object id)
 {
     return(Get(ShardParams.Form(userId), id));
 }
示例#5
0
 public virtual IList <TEntity> GetList(long userId, System.Collections.IEnumerable ids)
 {
     return(GetList(ShardParams.Form(userId), ids));
 }
示例#6
0
 public virtual ISpecification <TEntity> CreateSpecification(long userId)
 {
     return(CreateSpecification(ShardParams.Form(userId)));
 }
示例#7
0
 public virtual TEntity Get(int courseId, object id)
 {
     return(Get(ShardParams.Form(courseId), id));
 }
示例#8
0
 public virtual ISpecification <TEntity> CreateSpecification(int courseId)
 {
     return(CreateSpecification(ShardParams.Form(courseId)));
 }
示例#9
0
 public virtual TEntity Get(int unitId, object id)
 {
     return(Get(ShardParams.Form(unitId), id));
 }
示例#10
0
 public HasOneByForeignKeyDefine Shard(long param)
 {
     ShardParams = ShardParams.Form(param);
     return(this);
 }