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; }
/// <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; }
internal OrderByLoadOption(AggregateDescriptor descriptor) : base(descriptor) { }
internal PropertySelector(AggregateDescriptor descriptor) : base(descriptor) { }
internal LoadOptionSelector(AggregateDescriptor descriptor) { _descriptor = descriptor; }
internal ChildrenSelector(AggregateDescriptor descriptor) : base(descriptor) { }