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 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
dataReaderTypeTypeSource 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
enabledboolValue 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
modeSqlQueryReaderResultSetFieldsPersistenceModeValue 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
predicateFunc<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
predicateFunc<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
configurationSqlQueryMemberConfigurationValue to add.
Returns
- SqlQueryReaderCreationOptions
New SqlQueryReaderCreationOptions instance.