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; }