Appearance
π Changelog β
v1.8.3 (2025-09-22) β
- β¨
DuckDB
Add full support for importing from JSON and Parquet files - π Improve the logic for determining query type execution: Now, when the
QueryType
isRAW
, the builder usesRawQueryType
rather than alwaysQueryType
v1.8.2 (2025-09-21) β
- β¨ Add debug logging to help tracing library bugs and query errors
- π§
DuckDB
Fix duplicateRETURNING {column}
rendering onINSERT
v1.8.1 (2025-09-20) β
- β¨
DuckDB
AddQuery.OnConflict()
support
v1.8.0 (2025-09-19) β
- β¨ Add
ReflectionCache
- β¨ Add
ResultCache
- β¨ Add
TinyText
,MediumText
andLongText
column data types - β¨ Add
Query.WhereGreater<T>()
- β¨ Add
Query.WhereGreaterEquals<T>()
- β¨ Add
Query.WhereLower<T>()
- β¨ Add
Query.WhereLowerEquals<T>()
- β¨ Add
Query.Is<T>()
- β¨ Add
Query.IsNot<T>()
- β¨ Add
Query.WhereNotIn<T>()
- β¨
DuckDB
AddQuery.__GetColumnDefinition()
data type check for column length in to avoid setting length to colum data types that do not allow it - π Revamp
Connector
database connection management logic - π Remove unused
IConnectorManager
- π Update
QueryBuilder
enumerators logic - π Update
QueryBuilder.Execute<T>()
to adjust to latest query execution flow changes - π Connector generic database logic is now handled by base class and not by each implementation
- π
PostgreSQL
UpdateQueryBuilder._PrepareDbCommand()
to add castedNpgsqlParameter
toNpgsqlCommand
instead of adding anonymous object - π
DuckDB
UpdateQuery.__GetMemberInfoDuckDBParameter()
to convert whole numbers to their specific types - π
DuckDB
UpdateQuery.__GetColumnDefinition()
andQuery.__GetMemberInfoDuckDBParameter()
to handleEnums
as strings - π
DuckDB
UpdateQueryBuilder._PrepareDbCommand()
to improve data type management - π Revert
Query._RenderSelectSentence()
removal ofSELECT_UNION
check onSELECT(*)
- π
DuckDB
FixQueryBuilder._HandleQueryResult()
to handleUnmanagedMemoryStream
and store them asMemoryStream
v1.7.1 (2025-09-14) β
- β¨
DuckDB
Added support forDuckDB
- β¨ Add
QueryBuilder.IterateByOffset<T>()
to iterate tables where there is not auto-increment key column to iterate by - π Update
Query.From()
to add table name escaping - π Update
ExtensionMethods/DataRow.__HandleRowMemberInfo<T>()
to handle a few edge cases on data serialization
v1.7.0 (2025-09-11) β
- β¨ Add
QueryBuilder
transaction methods:QueryBuilder.Begin()
,QueryBuilder.Rollback()
,QueryBuilder.Commit()
- β¨ Add
Query.OnConflict()
support for upsert operations - π
PostgreSQL
UpdateQuery.Value<T>()
- π
MSSQL
UpdateQuery.Value<T>()
v1.6.0 (2025-09-03) β
- β¨ Add support for
UNION
,UNION ALL
,INTERSECT
andEXCEPT
queries
v1.5.5 (2025-09-01) β
- β¨ Add
ExpressionHelper.ExtractPropertyName<T>()
- β¨ Add
byte[]
array rendering toQuery._RenderPrepared()
- π
PostgreSQL
UpdateQuery.Value<T>()
to avoid rendering system columns on insert - π
MSSQSL
UpdateQuery.Value<T>()
to avoid rendering system columns on insert - π Fix
Query.Set<T>()
- π Fix
Query.Select<T>()
v1.5.4 (2025-09-01) β
- β¨ Add XML documentation to code
v1.5.3 (2025-08-31) β
- β¨ Add
Query.Distinct()
v1.5.2 (2025-08-30) β
- β¨ Add
Query._Engine
- π Improve
ConnectorManager
thread safety - π Fix
Query.Select<T>()
not takingSystemColumn.Name
property as the system column name to be retrieved
v1.5.1 (2025-08-30) β
- β¨ Add
SchemaDefinition.SystemColumn
- β¨ Add
SchemaDefinition.DatabaseEngine
- π Update
QueryBuilder.Iterate<T>()
v1.5.0 (2025-08-28) β
- β¨ Add
Type.GetColumnName()
- β¨ Add
QueryBuilder.Execute<T>()
to provide return of Last Insert Id, AffectedRows, and Query Success - β¨
MySQL
Add little patch to supportLength=-1
onChar
andVarchar
column types - β¨
PostgreSQL
AddRETURNING
support forINSERT
queries - β¨
MSSQL
AddOUTPUT Inserted.
support forINSERT
queries - π Improve Key definition
v1.4.1 (2025-08-28) β
- β¨
MSSQL
Added support forMicrosoft SQL Server
- β¨ Add
Query._GetKeyColumnName()
- π Fix table key rendering on table create
v1.4.0 (2025-08-28) β
- β¨ Add
SchemaDefinition
/ForeignKey
constructor to support direct reference for table classes - β¨ Add
SchemaDefinition
/Column
constructor to support joined columns - β¨ Add joined table support for
SELECT
and the result iterators - β¨ Add Query Expression support to
Query.Join()
- β¨ Add
Query.Select<T>()
- β¨ Add
QueryBuilder
selectTuple
support - π Update
QueryBuilder
to improve query result handling when mixing columns from different tables - π Update
QueryBuilder.Iterate()
to change ulong for long to widen database engine support - π Update
SchemaDefinition
/NamedStructure
to set Name asprotected
- π Improve
DataRow
parsing to custom class
v1.3.3 (2025-08-26) β
- β¨ Add support for .Net 6
v1.3.2 (2025-08-25) β
- β¨ Add Query.GetColumnDataType()
v1.3.1 (2025-08-25) β
- β¨ Add
ConnectorManager.WithBeforeQueryExecutionAction()
- β¨ Add
ConnectorManager.WithAfterQueryExecutionAction()
- π Update
ExtensionMethods.DataRow
to avoid serializing values not retrieved by a query result - π Update
QueryBuilder.OnQueryExceptionAction
to now take the query and the exception as parameters - π Fix
QueryBuilder.OnQueryExceptionAction()
invocation missing the query argument
v1.3.0 (2025-08-25) β
- β¨ Add
Query Expression
support for query building:Select
,Set
,Value
,Where
,WhereIn
,WhereLike
,GroupBy
,OrderBy
- β¨ Add
QueryBuilder.ExecuteScalar()
to add a direct scalar execution method - β¨ Add
QueryBuilder.ScalarValue
to store theQueryBuilder.ExecuteScalar()
value and the first column from the first row in a regular select - β¨ Add
QueryBuilder.WithBeforeQueryExecutionAction()
andQueryBuilder.WithAfterQueryExecutionAction()
to setup callbacks before and after a query execution happens (logging purposes mostly)
v1.2.1 (2025-08-23) β
- π
PostgreSQL
Improve query rendering for printing purposes only
v1.2.0 (2025-08-22) β
- β¨
PostgreSQL
Added support forPostgreSQL
- β¨ Add
SchemaDefinition/Column.Check
- β¨ Add
ConnectorManager.WithConnectionSetup()
- π Update
ConnectorManager
to ease overriding connection instantiation and setup - π Update
Query
to improve query preparation overriding - π Removed the ability to insert a null value on a
Primary Key
column, it will now either insert a not-null value or not insert it - π Extension methods refactor
v1.1.1 (2025-08-21) β
- β¨ Add
ConnectionManager.WithOnQueryExceptionAction()
to setup a callback when an exception occurs - β¨ Add
ColumnDataType.Enum
- β¨ Add
Query.CreateTable()
aliases - π Improve
Query
change detection for rendering - π Improve
DataRow
serialization - π Improve
Table
key definition - π Improve
Column
andKey
rendering on table creation - π Moved
ConnectorManager.QueryBuilder()
andConnectorManager.DetachedQueryBuilder()
methods to BaseConnectorManager
instead of each implementation
v1.1.0 (2025-08-20) β
- β¨ Add support for ColumnDataType
- β¨ Add SchemaDefinition/Column class to support generic database column data typing
v1.0.2 (2025-08-20) β
- β¨ Add
Query.WhereLike()
operator - π Update
Query.__RenderWhereValue()
to handleEnum
values withDescription
attribute - π Update
SchemaDefinition/ForeignKey
definition
v1.0.1 (2025-08-20) β
- π General refactor
v1.0.0 (2025-08-19) β
- β¨
MySQL
Added support forMySQL
- β¨
SQLite
Added support forSQLite