Table of Contents

Class SqlViewBuilder

Namespace
LfrlAnvil.Sql.Objects.Builders
Assembly
LfrlAnvil.Sql.Core.dll

Represents an SQL view builder.

public abstract class SqlViewBuilder : SqlObjectBuilder, ISqlViewBuilder, ISqlObjectBuilder
Inheritance
SqlViewBuilder
Implements
Derived
Inherited Members
Extension Methods

Constructors

SqlViewBuilder(SqlSchemaBuilder, string, SqlQueryExpressionNode, ReadOnlyArray<SqlObjectBuilder>)

Creates a new SqlViewBuilder instance.

protected SqlViewBuilder(SqlSchemaBuilder schema, string name, SqlQueryExpressionNode source, ReadOnlyArray<SqlObjectBuilder> referencedObjects)

Parameters

schema SqlSchemaBuilder

Schema that this view belongs to.

name string

Object's name.

source SqlQueryExpressionNode

Underlying source query expression that defines this view.

referencedObjects ReadOnlyArray<SqlObjectBuilder>

Collection of objects (tables, views and columns) referenced by this view's Source.

Properties

Info

Represents a full name information of this view.

public SqlRecordSetInfo Info { get; }

Property Value

SqlRecordSetInfo

Node

Underlying SqlViewBuilderNode instance that represents this view.

public SqlViewBuilderNode Node { get; }

Property Value

SqlViewBuilderNode

ReferencedObjects

Collection of objects (tables, views and columns) referenced by this view's Source.

public SqlObjectBuilderArray<SqlObjectBuilder> ReferencedObjects { get; }

Property Value

SqlObjectBuilderArray<SqlObjectBuilder>

Schema

Schema that this view belongs to.

public SqlSchemaBuilder Schema { get; }

Property Value

SqlSchemaBuilder

Source

Underlying source query expression that defines this view.

public SqlQueryExpressionNode Source { get; }

Property Value

SqlQueryExpressionNode

Methods

AfterNameChange(string)

Callback invoked just after Name change has been processed.

protected override void AfterNameChange(string originalValue)

Parameters

originalValue string

Original value.

AfterRemove()

Callback invoked just after the removal has been processed.

protected override void AfterRemove()

BeforeNameChange(string)

Callback invoked just before Name change is processed.

protected override SqlPropertyChange<string> BeforeNameChange(string newValue)

Parameters

newValue string

Value to set.

Returns

SqlPropertyChange<string>

SqlPropertyChange<T> instance associated with Name change attempt.

Exceptions

SqlObjectBuilderException

When Name of this object cannot be changed.

BeforeRemove()

Callback invoked just before the removal is processed.

protected override void BeforeRemove()

Exceptions

SqlObjectBuilderException

When this object cannot be removed.

ClearReferencedObjects()

Removes all objects from ReferencedObjects and removes this view from their reference sources.

protected void ClearReferencedObjects()

QuickRemoveCore()

Performs a quick removal of this object.

protected override void QuickRemoveCore()

Remarks

See QuickRemove(SqlObjectBuilder) for more information.

SetName(string)

Changes the name of this object.

public SqlViewBuilder SetName(string name)

Parameters

name string

Name to set.

Returns

SqlViewBuilder

this.

Exceptions

SqlObjectBuilderException

When name cannot be changed.

SetReferencedObjects(ReadOnlyArray<SqlObjectBuilder>)

Adds a collection of objects to ReferencedObjects and adds this view to their reference sources.

protected void SetReferencedObjects(ReadOnlyArray<SqlObjectBuilder> objects)

Parameters

objects ReadOnlyArray<SqlObjectBuilder>

Collection of objects to add.

ToString()

Returns a string representation of this SqlViewBuilder instance.

[Pure]
public override string ToString()

Returns

string

String representation.