Table of Contents

Interface ISqlQueryReaderFactory

Namespace
LfrlAnvil.Sql.Statements.Compilers
Assembly
LfrlAnvil.Sql.Core.dll

Represents a factory of delegates used by query reader expression instances.

public interface ISqlQueryReaderFactory
Extension Methods

Properties

Dialect

SQL dialect that this factory is associated with.

SqlDialect Dialect { get; }

Property Value

SqlDialect

SupportsAsync

Specifies whether generic asynchronous query readers can be constructed by this factory.

bool SupportsAsync { get; }

Property Value

bool

Methods

Create(SqlQueryReaderCreationOptions?)

Creates a new SqlQueryReader instance.

[Pure]
SqlQueryReader Create(SqlQueryReaderCreationOptions? options = null)

Parameters

options SqlQueryReaderCreationOptions?

Optional SqlQueryReaderCreationOptions.

Returns

SqlQueryReader

New SqlQueryReader instance.

CreateAsync(SqlQueryReaderCreationOptions?)

Creates a new SqlAsyncQueryReader instance.

[Pure]
SqlAsyncQueryReader CreateAsync(SqlQueryReaderCreationOptions? options = null)

Parameters

options SqlQueryReaderCreationOptions?

Optional SqlQueryReaderCreationOptions.

Returns

SqlAsyncQueryReader

New SqlAsyncQueryReader instance.

CreateAsyncExpression(Type, SqlQueryReaderCreationOptions?)

Creates a new SqlAsyncQueryReaderExpression instance.

[Pure]
SqlAsyncQueryReaderExpression CreateAsyncExpression(Type rowType, SqlQueryReaderCreationOptions? options = null)

Parameters

rowType Type

Row type.

options SqlQueryReaderCreationOptions?

Optional SqlQueryReaderCreationOptions.

Returns

SqlAsyncQueryReaderExpression

New SqlAsyncQueryReaderExpression instance.

Exceptions

SqlCompilerException

When rowType is not a valid row type or does not contain a valid constructor or does not contain any valid members or this factory does not support asynchronous expressions.

CreateAsyncScalar()

Creates a new SqlAsyncScalarQueryReader instance.

[Pure]
SqlAsyncScalarQueryReader CreateAsyncScalar()

Returns

SqlAsyncScalarQueryReader

New SqlAsyncScalarQueryReader instance.

CreateAsyncScalarExpression(Type, bool)

Creates a new SqlAsyncScalarQueryReaderExpression instance.

[Pure]
SqlAsyncScalarQueryReaderExpression CreateAsyncScalarExpression(Type resultType, bool isNullable = false)

Parameters

resultType Type

Value type.

isNullable bool

Specifies whether the result is nullable. Equal to false by default.

Returns

SqlAsyncScalarQueryReaderExpression

New SqlAsyncScalarQueryReaderExpression instance.

Exceptions

SqlCompilerException

When resultType is not a valid result type or this factory does not support asynchronous expressions.

CreateExpression(Type, SqlQueryReaderCreationOptions?)

Creates a new SqlQueryReaderExpression instance.

[Pure]
SqlQueryReaderExpression CreateExpression(Type rowType, SqlQueryReaderCreationOptions? options = null)

Parameters

rowType Type

Row type.

options SqlQueryReaderCreationOptions?

Optional SqlQueryReaderCreationOptions.

Returns

SqlQueryReaderExpression

New SqlQueryReaderExpression instance.

Exceptions

SqlCompilerException

When rowType is not a valid row type or does not contain a valid constructor or does not contain any valid members.

CreateScalar()

Creates a new SqlScalarQueryReader instance.

[Pure]
SqlScalarQueryReader CreateScalar()

Returns

SqlScalarQueryReader

New SqlScalarQueryReader instance.

CreateScalarExpression(Type, bool)

Creates a new SqlScalarQueryReaderExpression instance.

[Pure]
SqlScalarQueryReaderExpression CreateScalarExpression(Type resultType, bool isNullable = false)

Parameters

resultType Type

Value type.

isNullable bool

Specifies whether the result is nullable. Equal to false by default.

Returns

SqlScalarQueryReaderExpression

New SqlScalarQueryReaderExpression instance.

Exceptions

SqlCompilerException

When resultType is not a valid result type.