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