Show / Hide Table of Contents

    Class SqlServerSchemaLoader

    The implementation of IDatabaseSchemaLoader<T> for Microsoft SQL Server.

    Inheritance
    System.Object
    SqlServerSchemaLoader
    Implements
    IDatabaseSchemaLoader<System.Data.SqlClient.SqlConnection>
    IDatabaseSchemaLoader
    Namespace: Kros.Data.Schema.SqlServer
    Assembly: Kros.Utils.dll
    Syntax
    public class SqlServerSchemaLoader : IDatabaseSchemaLoader<SqlConnection>, IDatabaseSchemaLoader

    Methods

    GetDefaultValueString(String)

    Adjusts the string rawDefaultValueString so column's default value can be obtained from it.

    Declaration
    protected virtual string GetDefaultValueString(string rawDefaultValueString)
    Parameters
    Type Name Description
    System.String rawDefaultValueString

    Default value string as it is stored in database.

    Returns
    Type Description
    System.String

    Adjusted string - trimmed of unneeded characters.

    LoadSchema(SqlConnection)

    Loads database schema for connection.

    Declaration
    public DatabaseSchema LoadSchema(SqlConnection connection)
    Parameters
    Type Name Description
    System.Data.SqlClient.SqlConnection connection

    Database connection.

    Returns
    Type Description
    DatabaseSchema

    Database schema.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException
    System.ArgumentException

    Initial catalog of connection is an empty string, or string containing whitespace characters only.

    LoadTableSchema(SqlConnection, String)

    Loads table schema for table tableName in database connection.

    Declaration
    public TableSchema LoadTableSchema(SqlConnection connection, string tableName)
    Parameters
    Type Name Description
    System.Data.SqlClient.SqlConnection connection

    Database connection.

    System.String tableName

    Table name.

    Returns
    Type Description
    TableSchema

    Table schema, or value null if specified table does not exist.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException
    System.ArgumentException

    OnParseDefaultValue(SqlServerParseDefaultValueEventArgs)

    Raises the ParseDefaultValue event with arguments e.

    Declaration
    protected virtual void OnParseDefaultValue(SqlServerParseDefaultValueEventArgs e)
    Parameters
    Type Name Description
    SqlServerParseDefaultValueEventArgs e

    Arguments for the event.

    SupportsConnectionType(SqlConnection)

    Checks if it is poosible to load database schema for connection.

    Declaration
    public bool SupportsConnectionType(SqlConnection connection)
    Parameters
    Type Name Description
    System.Data.SqlClient.SqlConnection connection

    Database connection.

    Returns
    Type Description
    System.Boolean

    false if value of connection is null, otherwise true.

    Events

    ParseDefaultValue

    Event raised while parsing default value of a column. It is possible to use custom parsing logic in the event handler.

    Declaration
    public event EventHandler<SqlServerParseDefaultValueEventArgs> ParseDefaultValue
    Event Type
    Type Description
    System.EventHandler<SqlServerParseDefaultValueEventArgs>
    Remarks

    When custom logic for parsing column's default value is used, the parsed value is set in DefaultValue property and Handled flag must be set to true.

    Explicit Interface Implementations

    IDatabaseSchemaLoader.LoadSchema(Object)

    Loads database schema for connection.

    Declaration
    DatabaseSchema IDatabaseSchemaLoader.LoadSchema(object connection)
    Parameters
    Type Name Description
    System.Object connection

    Database connection.

    Returns
    Type Description
    DatabaseSchema

    Database schema.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException
    System.ArgumentException

    IDatabaseSchemaLoader.LoadTableSchema(Object, String)

    Loads table schema for table tableName in database connection.

    Declaration
    TableSchema IDatabaseSchemaLoader.LoadTableSchema(object connection, string tableName)
    Parameters
    Type Name Description
    System.Object connection

    Database connection.

    System.String tableName

    Table name.

    Returns
    Type Description
    TableSchema

    Table schema, or value null if specified table does not exist.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException
    System.ArgumentException

    IDatabaseSchemaLoader.SupportsConnectionType(Object)

    Checks if it is poosible to load database schema for connection.

    Declaration
    bool IDatabaseSchemaLoader.SupportsConnectionType(object connection)
    Parameters
    Type Name Description
    System.Object connection

    Database connection.

    Returns
    Type Description
    System.Boolean

    false if value of connection is not of System.Data.SqlClient.SqlConnection type or is null, otherwise true.

    Implements

    IDatabaseSchemaLoader<T>
    IDatabaseSchemaLoader
    Back to top KROS a.s.