AdoNetDatabaseEffects

Classes > Nimblesite.DataProvider.Core.CodeGeneration > AdoNetDatabaseEffects

A driver-agnostic that opens a connection through the supplied factory, binds dummy parameter values, executes the SQL, and reads back column metadata from the resulting. Type mapping is delegated to a supplied `` so the class itself has zero dialect knowledge.

public sealed class AdoNetDatabaseEffects : IDatabaseEffects

Constructors

AdoNetDatabaseEffects

public AdoNetDatabaseEffects(Func<string, DbConnection> connectionFactory, AdoNetDatabaseEffects.TypeMapper typeMapper)

Creates a new ``.

Parameter Type Description
connectionFactory DbConnection> Builds a driver-specific `` from a connection
string (e.g. cs => new SqliteConnection(cs)).
typeMapper TypeMapper Resolves a C# type literal from a reader column.

Methods

GetColumnMetadataFromSqlAsync(string, string, IEnumerable<ParameterInfo>)

public Task<Result<IReadOnlyList<DatabaseColumn>, SqlError>> GetColumnMetadataFromSqlAsync(string connectionString, string sql, IEnumerable<ParameterInfo> parameters)

Gets column metadata by executing the SQL query against the database.

Parameters:

Name Type Description
connectionString String Database connection string
sql String SQL query to execute
parameters ParameterInfo> Query parameters

Returns: SqlError>> - List of database columns with their metadata