Table of Contents

Struct SqlQueryReaderCreationOptions

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

Represents available options for creating query reader expressions through ISqlQueryReaderFactory.

public readonly struct SqlQueryReaderCreationOptions
Inherited Members

Fields

Default

Represents default options.

public static readonly SqlQueryReaderCreationOptions Default

Field Value

SqlQueryReaderCreationOptions

Properties

AlwaysTestForNull

Specifies whether or not all source values should be tested for null.

public bool AlwaysTestForNull { get; }

Property Value

bool

MemberConfigurations

Collection of explicit SqlQueryMemberConfiguration instances.

public ReadOnlySpan<SqlQueryMemberConfiguration> MemberConfigurations { get; }

Property Value

ReadOnlySpan<SqlQueryMemberConfiguration>

ResultSetFieldsPersistenceMode

SqlQueryReaderResultSetFieldsPersistenceMode that specifies how query result set fields should be extracted, if at all.

public SqlQueryReaderResultSetFieldsPersistenceMode ResultSetFieldsPersistenceMode { get; }

Property Value

SqlQueryReaderResultSetFieldsPersistenceMode

RowTypeConstructorPredicate

Specifies an optional row type's constructor filter. Constructors that return false will be ignored.

public Func<ConstructorInfo, bool>? RowTypeConstructorPredicate { get; }

Property Value

Func<ConstructorInfo, bool>

Remarks

ISqlQueryReaderFactory will use the first encountered constructor with the largest number of parameters, unless a constructor does not pass this predicate.

RowTypeMemberPredicate

Specifies an optional row type's field or property filter. Members that return false will be ignored.

public Func<MemberInfo, bool>? RowTypeMemberPredicate { get; }

Property Value

Func<MemberInfo, bool>

Methods

CreateMemberConfigurationByNameLookup(Type)

Creates a new lookup of current MemberConfigurations by member name.

[Pure]
public Dictionary<string, SqlQueryMemberConfiguration>? CreateMemberConfigurationByNameLookup(Type dataReaderType)

Parameters

dataReaderType Type

Source DB data reader type.

Returns

Dictionary<string, SqlQueryMemberConfiguration>

New Dictionary<TKey, TValue> instance or null when no valid SqlQueryMemberConfiguration instances exist.

EnableAlwaysTestingForNull(bool)

Creates a new SqlQueryReaderCreationOptions instance with changed AlwaysTestForNull.

[Pure]
public SqlQueryReaderCreationOptions EnableAlwaysTestingForNull(bool enabled = true)

Parameters

enabled bool

Value to set. Equal to true by default.

Returns

SqlQueryReaderCreationOptions

New SqlQueryReaderCreationOptions instance.

SetResultSetFieldsPersistenceMode(SqlQueryReaderResultSetFieldsPersistenceMode)

[Pure]
public SqlQueryReaderCreationOptions SetResultSetFieldsPersistenceMode(SqlQueryReaderResultSetFieldsPersistenceMode mode)

Parameters

mode SqlQueryReaderResultSetFieldsPersistenceMode

Value to set.

Returns

SqlQueryReaderCreationOptions

New SqlQueryReaderCreationOptions instance.

SetRowTypeConstructorPredicate(Func<ConstructorInfo, bool>?)

Creates a new SqlQueryReaderCreationOptions instance with changed RowTypeConstructorPredicate.

[Pure]
public SqlQueryReaderCreationOptions SetRowTypeConstructorPredicate(Func<ConstructorInfo, bool>? predicate)

Parameters

predicate Func<ConstructorInfo, bool>

Value to set.

Returns

SqlQueryReaderCreationOptions

New SqlQueryReaderCreationOptions instance.

SetRowTypeMemberPredicate(Func<MemberInfo, bool>?)

Creates a new SqlQueryReaderCreationOptions instance with changed RowTypeMemberPredicate.

[Pure]
public SqlQueryReaderCreationOptions SetRowTypeMemberPredicate(Func<MemberInfo, bool>? predicate)

Parameters

predicate Func<MemberInfo, bool>

Value to set.

Returns

SqlQueryReaderCreationOptions

New SqlQueryReaderCreationOptions instance.

With(SqlQueryMemberConfiguration)

Creates a new SqlQueryReaderCreationOptions instance with added SqlQueryMemberConfiguration instance.

[Pure]
public SqlQueryReaderCreationOptions With(SqlQueryMemberConfiguration configuration)

Parameters

configuration SqlQueryMemberConfiguration

Value to add.

Returns

SqlQueryReaderCreationOptions

New SqlQueryReaderCreationOptions instance.