예제 #1
0
        internal AggregateEntityLoader(AggregateDescriptor aggregate)
        {
            if (aggregate == null)
            {
                throw new ArgumentNullException("aggregate");
            }
            if (aggregate.Items.Count < 1)
            {
                throw new InvalidOperationException("aggregate.Items.Count < 1 must be false.");
            }

            this._aggregateInfo = aggregate;
        }
예제 #2
0
        /// <summary>
        /// 生成指定加载选项的聚合SQL。
        /// </summary>
        /// <param name="aggregate">
        /// 聚合加载选项
        /// </param>
        /// <param name="whereCondition">
        /// 简单的过滤条件,如:
        /// PBS.PBSTypeId = '...'
        ///
        /// 如果传入Null,则默认生成以根对象为条件的格式化字符串。
        /// </param>
        /// <param name="joinFilterCondition">
        /// 用于配合where条件进行过滤的join条件
        /// select
        /// {0},
        /// {1}
        /// from PBS
        ///     join ProjectPBS pp on pbs.Id = pp.PBSId
        ///     left outer join PBSBQItem i on pbs.Id = i.PBSId
        /// where pp.ProjectId = '{{0}}'
        /// order by pbs.Id, i.Id"
        /// </param>
        /// <returns></returns>
        public AggregateSQLGenerator(AggregateDescriptor aggregate, string whereCondition = null, string joinFilterCondition = null)
        {
            if (aggregate == null)
            {
                throw new ArgumentNullException("aggregate");
            }
            if (aggregate.Items.Count < 1)
            {
                throw new InvalidOperationException("aggregate.Items.Count < 2 must be false.");
            }

            this._aggregateInfo       = aggregate;
            this._whereCondition      = whereCondition;
            this._joinFilterCondition = joinFilterCondition;
        }
예제 #3
0
 internal OrderByLoadOption(AggregateDescriptor descriptor) : base(descriptor)
 {
 }
예제 #4
0
 internal PropertySelector(AggregateDescriptor descriptor) : base(descriptor)
 {
 }
예제 #5
0
 internal LoadOptionSelector(AggregateDescriptor descriptor)
 {
     _descriptor = descriptor;
 }
예제 #6
0
 internal ChildrenSelector(AggregateDescriptor descriptor) : base(descriptor)
 {
 }