DefaultCodeTemplate

Classes > DataProvider.CodeGeneration > DefaultCodeTemplate

Default implementation of the code generation template

public class DefaultCodeTemplate : ICodeTemplate

Methods

GenerateModelType(string, IReadOnlyList<DatabaseColumn>)

public virtual Result<string, SqlError> GenerateModelType(string typeName, IReadOnlyList<DatabaseColumn> columns)

Generates the model/record type definition

Parameters:

Name Type Description
typeName String
columns DatabaseColumn>

Returns: SqlError>

GenerateDataAccessMethod(string, string, string, IReadOnlyList<ParameterInfo>, IReadOnlyList<DatabaseColumn>)

public virtual Result<string, SqlError> GenerateDataAccessMethod(string methodName, string returnTypeName, string sql, IReadOnlyList<ParameterInfo> parameters, IReadOnlyList<DatabaseColumn> columns)

Generates the data access extension method

Parameters:

Name Type Description
methodName String
returnTypeName String
sql String
parameters ParameterInfo>
columns DatabaseColumn>

Returns: SqlError>

GenerateSourceFile(string, string, string)

public virtual Result<string, SqlError> GenerateSourceFile(string namespaceName, string modelCode, string dataAccessCode)

Generates the complete source file with usings, namespace, and all generated code

Parameters:

Name Type Description
namespaceName String
modelCode String
dataAccessCode String

Returns: SqlError>

GenerateGroupedModels(GroupingConfig, IReadOnlyList<DatabaseColumn>)

public virtual Result<string, SqlError> GenerateGroupedModels(GroupingConfig groupingConfig, IReadOnlyList<DatabaseColumn> columns)

Generates grouped parent-child model types

Parameters:

Name Type Description
groupingConfig GroupingConfig
columns DatabaseColumn>

Returns: SqlError>