CodeGenerationConfig

Classes > DataProvider.CodeGeneration > CodeGenerationConfig

Configuration for code generation with customizable functions

public record CodeGenerationConfig : IEquatable<CodeGenerationConfig>

Constructors

CodeGenerationConfig

public CodeGenerationConfig(Func<string, string, IEnumerable<ParameterInfo>, Task<Result<IReadOnlyList<DatabaseColumn>, SqlError>>> getColumnMetadata, ITableOperationGenerator? tableOperationGenerator = null)

Initializes a new instance with required dependencies

Parameter Type Description
getColumnMetadata SqlError>>>
tableOperationGenerator ITableOperationGenerator

Properties

GenerateModelType

public Func<string, IReadOnlyList<DatabaseColumn>, Result<string, SqlError>> GenerateModelType { get; init; }

Function to generate model types from database columns

GenerateDataAccessMethod

public Func<string, string, string, IReadOnlyList<ParameterInfo>, IReadOnlyList<DatabaseColumn>, string, Result<string, SqlError>> GenerateDataAccessMethod { get; init; }

Function to generate data access methods

GenerateSourceFile

public Func<string, string, string, Result<string, SqlError>> GenerateSourceFile { get; init; }

Function to generate complete source files

GenerateGroupedModels

public Func<string, string, IReadOnlyList<string>, IReadOnlyList<string>, IReadOnlyList<DatabaseColumn>, Result<string, SqlError>> GenerateGroupedModels { get; init; }

Function to generate grouped model types

GenerateRawRecordType

public Func<string, IReadOnlyList<DatabaseColumn>, Result<string, SqlError>> GenerateRawRecordType { get; init; }

Function to generate raw record types for grouping

GenerateGroupedQueryMethod

public Func<string, string, string, IReadOnlyList<ParameterInfo>, IReadOnlyList<DatabaseColumn>, GroupingConfig, string, Result<string, SqlError>> GenerateGroupedQueryMethod { get; init; }

Function to generate grouped query methods

GetColumnMetadata

public Func<string, string, IEnumerable<ParameterInfo>, Task<Result<IReadOnlyList<DatabaseColumn>, SqlError>>> GetColumnMetadata { get; init; }

Function to get column metadata from SQL

TableOperationGenerator

public ITableOperationGenerator TableOperationGenerator { get; init; }

Table operation generator

TargetNamespace

public string TargetNamespace { get; init; }

Target namespace for generated code

ConnectionType

public string ConnectionType { get; init; }

Database connection type name