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