ModelGenerator

Classes > DataProvider.CodeGeneration > ModelGenerator

Static methods for generating model/record types from database metadata

public static class ModelGenerator

Methods

GenerateRecordType(string, IReadOnlyList<DatabaseColumn>)

public static Result<string, SqlError> GenerateRecordType(string typeName, IReadOnlyList<DatabaseColumn> columns)

Generates a C# record type from database column metadata

Parameters:

Name Type Description
typeName String Name of the record type
columns DatabaseColumn> Database column metadata

Returns: SqlError> - Generated C# record definition

GenerateGroupedRecordTypes(string, string, IReadOnlyList<string>, IReadOnlyList<string>, IReadOnlyList<DatabaseColumn>)

public static Result<string, SqlError> GenerateGroupedRecordTypes(string parentName, string childName, IReadOnlyList<string> parentColumns, IReadOnlyList<string> childColumns, IReadOnlyList<DatabaseColumn> allColumns)

Generates parent and child record types for grouped queries

Parameters:

Name Type Description
parentName String Name of the parent entity
childName String Name of the child entity
parentColumns String> Parent entity columns
childColumns String> Child entity columns
allColumns DatabaseColumn> All columns from the query for type resolution

Returns: SqlError> - Generated C# code for parent and child records

GenerateRawRecordType(string, IReadOnlyList<DatabaseColumn>)

public static Result<string, SqlError> GenerateRawRecordType(string typeName, IReadOnlyList<DatabaseColumn> columns)

Generates a raw data record for intermediate grouping operations

Parameters:

Name Type Description
typeName String Name of the raw record type
columns DatabaseColumn> Database column metadata

Returns: SqlError> - Generated C# record definition