DataAccessGenerator
Static methods for generating data access extension methods
public static class DataAccessGenerator
Methods
GenerateParameterList(IReadOnlyList<ParameterInfo>)
public static string GenerateParameterList(IReadOnlyList<ParameterInfo> parameters)
Generates parameter list string for method signatures
Parameters:
| Name | Type | Description |
|---|---|---|
parameters |
ParameterInfo> |
SQL parameters |
Returns: String - Formatted parameter list
GenerateQueryMethod(string, string, string, string, IReadOnlyList<ParameterInfo>, IReadOnlyList<DatabaseColumn>, string)
public static Result<string, SqlError> GenerateQueryMethod(string className, string methodName, string returnTypeName, string sql, IReadOnlyList<ParameterInfo> parameters, IReadOnlyList<DatabaseColumn> columns, string connectionType = "SqliteConnection")
Generates a data access extension method for querying
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String |
Extension class name |
methodName |
String |
Method name |
returnTypeName |
String |
Return type name |
sql |
String |
SQL query |
parameters |
ParameterInfo> |
SQL parameters |
columns |
DatabaseColumn> |
Database columns |
connectionType |
String |
Database connection type (e.g., SqliteConnection) |
Returns: SqlError> - Generated extension method code
GenerateInsertMethod(DatabaseTable, string)
public static Result<string, SqlError> GenerateInsertMethod(DatabaseTable table, string connectionType = "SqliteConnection")
Generates an INSERT method for a database table
Parameters:
| Name | Type | Description |
|---|---|---|
table |
DatabaseTable |
Database table metadata |
connectionType |
String |
Database connection type |
Returns: SqlError> - Generated INSERT method code
GenerateNonQueryMethod(string, string, string, IReadOnlyList<ParameterInfo>, string)
public static Result<string, SqlError> GenerateNonQueryMethod(string className, string methodName, string sql, IReadOnlyList<ParameterInfo> parameters, string connectionType = "SqliteConnection")
Generates a non-query extension method for UPDATE/DELETE/INSERT SQL statements. Returns the number of rows affected.
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String |
Extension class name |
methodName |
String |
Method name |
sql |
String |
SQL statement |
parameters |
ParameterInfo> |
SQL parameters |
connectionType |
String |
Database connection type (e.g., SqliteConnection) |
Returns: SqlError> - Generated extension method code
GenerateUpdateMethod(DatabaseTable, string)
public static Result<string, SqlError> GenerateUpdateMethod(DatabaseTable table, string connectionType = "SqliteConnection")
Generates an UPDATE method for a database table
Parameters:
| Name | Type | Description |
|---|---|---|
table |
DatabaseTable |
Database table metadata |
connectionType |
String |
Database connection type |
Returns: SqlError> - Generated UPDATE method code
GenerateBulkInsertMethod(DatabaseTable, int, string)
public static Result<string, SqlError> GenerateBulkInsertMethod(DatabaseTable table, int batchSize = 1000, string connectionType = "SqliteConnection")
Generates a bulk INSERT method for a database table. Uses multi-row VALUES syntax for database-independent bulk inserts.
Parameters:
| Name | Type | Description |
|---|---|---|
table |
DatabaseTable |
Database table metadata |
batchSize |
Int32 |
Maximum rows per batch (default 1000) |
connectionType |
String |
Database connection type |
Returns: SqlError> - Generated bulk INSERT method code
GenerateBulkUpsertMethod(DatabaseTable, string, int, string)
public static Result<string, SqlError> GenerateBulkUpsertMethod(DatabaseTable table, string databaseType = "SQLite", int batchSize = 1000, string connectionType = "SqliteConnection")
Generates a bulk UPSERT method for a database table. Uses INSERT ... ON CONFLICT DO UPDATE for PostgreSQL, REPLACE INTO for SQLite.
Parameters:
| Name | Type | Description |
|---|---|---|
table |
DatabaseTable |
Database table metadata |
databaseType |
String |
Target database type (Postgres or SQLite) |
batchSize |
Int32 |
Maximum rows per batch (default 1000) |
connectionType |
String |
Database connection type |
Returns: SqlError> - Generated bulk UPSERT method code