internal AssociationContainedInExtent(ExtentFiltered extent, IAssociationType association, Allors.Extent inExtent)
 {
     extent.CheckAssociation(association);
     PredicateAssertions.AssertAssociationContainedIn(association, inExtent);
     this.association = association;
     this.inExtent    = ((Extent)inExtent).ContainedInExtent;
 }
 internal RoleContainedInExtent(ExtentFiltered extent, IRoleType role, Allors.Extent inExtent)
 {
     extent.CheckRole(role);
     PredicateAssertions.ValidateRoleContainedIn(role, inExtent);
     this.role     = role;
     this.inExtent = ((Extent)inExtent).ContainedInExtent;
 }
예제 #3
0
 internal ExtentStatementRoot(SqlExtent extent) : base(extent)
 {
     this.parameterIndex        = 0;
     this.aliasIndex            = 0;
     this.sql                   = new StringBuilder();
     this.paramNameByParamValue = new Dictionary <object, string>();
 }
예제 #4
0
        protected ExtentStatement(SqlExtent extent)
        {
            this.Extent = extent;

            this.referenceRoles        = new List <IRoleType>();
            this.referenceAssociations = new List <IAssociationType>();

            this.referenceRoleInstances        = new List <IRoleType>();
            this.referenceAssociationInstances = new List <IAssociationType>();
        }
예제 #5
0
        internal ExtentOperation(SqlExtent first, SqlExtent second, ExtentOperations operationType)
        {
            if (!first.ObjectType.Equals(second.ObjectType))
            {
                throw new ArgumentException("Both extents in a Union, Intersect or Except must be from the same type");
            }

            this.first         = first;
            this.second        = second;
            this.operationType = operationType;

            first.ParentOperationExtent  = this;
            second.ParentOperationExtent = this;
        }
 internal override ExtentStatement CreateChild(SqlExtent extent, IRoleType role) => new ExtentStatementChild(this.root, extent, role);
 internal override ExtentStatement CreateChild(SqlExtent extent, IAssociationType association) => new ExtentStatementChild(this.root, extent, association);
 internal ExtentStatementChild(ExtentStatementRoot root, SqlExtent extent, IAssociationType associationType)
     : base(extent)
 {
     this.root            = root;
     this.AssociationType = associationType;
 }
 internal ExtentStatementChild(ExtentStatementRoot root, SqlExtent extent, IRoleType roleType)
     : base(extent)
 {
     this.root     = root;
     this.RoleType = roleType;
 }
예제 #10
0
 internal abstract ExtentStatement CreateChild(SqlExtent extent, IRoleType role);
예제 #11
0
 internal abstract ExtentStatement CreateChild(SqlExtent extent, IAssociationType association);