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
Properties
AlwaysTestForNull
Specifies whether or not all source values should be tested for null.
public bool AlwaysTestForNull { get; }
Property Value
MemberConfigurations
Collection of explicit SqlQueryMemberConfiguration instances.
public ReadOnlySpan<SqlQueryMemberConfiguration> MemberConfigurations { get; }
Property Value
ResultSetFieldsPersistenceMode
SqlQueryReaderResultSetFieldsPersistenceMode that specifies how query result set fields should be extracted, if at all.
public SqlQueryReaderResultSetFieldsPersistenceMode ResultSetFieldsPersistenceMode { get; }
Property Value
RowTypeConstructorPredicate
Specifies an optional row type's constructor filter. Constructors that return false will be ignored.
public Func<ConstructorInfo, bool>? RowTypeConstructorPredicate { get; }
Property Value
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
Methods
CreateMemberConfigurationByNameLookup(Type)
Creates a new lookup of current MemberConfigurations by member name.
[Pure]
public Dictionary<string, SqlQueryMemberConfiguration>? CreateMemberConfigurationByNameLookup(Type dataReaderType)
Parameters
dataReaderType
TypeSource 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
boolValue to set. Equal to true by default.
Returns
- SqlQueryReaderCreationOptions
New SqlQueryReaderCreationOptions instance.
SetResultSetFieldsPersistenceMode(SqlQueryReaderResultSetFieldsPersistenceMode)
Creates a new SqlQueryReaderCreationOptions instance with changed ResultSetFieldsPersistenceMode.
[Pure]
public SqlQueryReaderCreationOptions SetResultSetFieldsPersistenceMode(SqlQueryReaderResultSetFieldsPersistenceMode mode)
Parameters
mode
SqlQueryReaderResultSetFieldsPersistenceModeValue 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
SqlQueryMemberConfigurationValue to add.
Returns
- SqlQueryReaderCreationOptions
New SqlQueryReaderCreationOptions instance.