The JS version changelog is available by this link.
Version 7.3.3
Version 7.3.1
Version 7.3.0
Version 7.2.5-rc03
[New]: .NET 8.0 support
[Fix]: "Just sorted" columns were not added to the GROUP BY clause
[Fix]: Aggregates calculation for non-numeric data
[Fix]: The problem with "Index out of range" exception on exporting aggregated data
[Fix]: The problem with DBNull values processing on exporting aggregated data
[Fix]: Index was out of range problem on aggregation
Version 7.2.4
[New]: Add Globals to AspNet4 and AspNetCore packages
[New]: AddBOM option in CsvDataExportSettings and HtmlDataExportSettings
[Upd]: Query builder is executed before the PreFetch call now
[Upd]: Add RowLimit property to ExportSeetings
[Fix]: Wrong column number in the ORDER BY if there are disabled columns in the query
[Fix]: SqlQueryBuilder threw an exception on queries with constant columns
[Fix]: BuildQuery method in LinqQueryBuilder
[Fix]: Query parameters generation in sub-queries
[Fix]: Different order on the webpage and in the exported result set
[Fix]: Auto conversion of the old special date/time value editors to new ones
[Fix]: Wrong behavior on operand's editor loading from JSON model files
[Fix]: LINQ query builder didn't process DateTimeOffset fields correctly
[Fix]: Wrong value of dates in non-UTC timezones in result sets
Version 7.2.3
[New]: Add UseUtcTime to EasyQueryOptions
[New]: RemoveThis method in Condition class
[New]: TimezoneOffset property in QueryBuilderOptions
[New]: Condition.Find method
[New]: IsModified property in Query class
[New]: QueryChanged event in Query class
[New]: New method: Query.ChangeColumnAttr(column, attrId)
[New]: NextNDays, NextNMonths, NextNYears, NextNHours operators
[New]: WriteExtraContentAsync method in EasyQueryApiHandler
[New]: Add AuxData property to EasyQueryManager
[New]: Add UseOuterJoins option to DbContextModelExtractorOptions
[New]: A possibility to add a "const = const" condition
[Upd]: DbConnectionModelLoader constructor now takes a connection resolver in the first parameter instead of actual connection object
[Upd]: DME auto-select newly added table
[Upd]: Add extra information to the response payload if an error occur on EasyQuery API request processing
[Fix]: NullReferenceException on DbContext model loading
[Fix]: Unhandled exception on URL click in the New Model dialog
[Fix]: Proper Null values processing in GetDbColumnName function
[Fix]: ColumnsPanel rendered a new column twice in WinForms edition
[Fix]: Wrong behavior of old "special dates" value editors
[Fix]: Problem with loading special dates operators
[Fix]: Query.AddCollumn method didn't process LookupAttr properly
[Fix]: SpecDateValues editor (from old versions) was not processed correctly
[Fix]: IsNullable was not set propery in the DbContextModelLoader
[Fix]: DbCommandTuner was never called
[Fix]: NullRefereceException for some value lists in data-filtering scenario
[Fix]: EqListValueEditor attribute - listName and Id params processing
Version 7.2.2
[New]: A possibility to add a "const = const" condition
[Upd]: Add Attribute ID field to DME
[Upd]: Update to EasyData 1.4.7
[Fix]: EqListValueEditor attribute - listName and Id params processing
[Fix]: Problem with decimal (currency) fields in Sqlite
[Fix]: NullRefereceException for some value lists in data-filtering scenario
Version 7.2.1
[New]: LastNHours, LastNDays, LastNMonths operators
[New]: UseNameColumnsInLookups option in DbConnectionModelLoaderOptions
[New]: IEasyQueryConfigurator interface. It allows to move EasyQuery middleware setup in a separate "Configurator" class
[New]: DbModel.DbParams.ShowDbNameForTables option
[New]: WPF ColumnsPanel now allows to use drag-n-drop to change columns order
[New]: Read EasyQuery.lck file to get the license key
[Upd]: Add Table Priority field to DME
[Upd]: Add IsNull/IsNotNull operators for all key fields to support LEFT JOIN queries
[Upd]: Sorted columns order is syncronized by default with the order of query columns
[Fix]: Process IsNullable on data model creation in DME
[Fix]: KeyNotFoundException on exporting datasets with COUNT aggregation on non-numeric fields
Version 7.2.0
[New]: Now we can use AddDays, AddMonths, and AddYears functions in attribute expressions
[New]:
modelId
andextra
properties in QueryListItem[New]: DateBeforeSpecial and DateAfterSpecial default operators in data models
[New]: Add
format
parameter to data export tuner[New]: Add .NET 6.0 target for some EasyQuery packages
[New]: IsObligatory property in TableLink
[Upd]: Make Settings and GetQueryFolderPath methods in FileQueryStore protected
[Upd]: string[] is used for RazorUI.Globals.ExportFormats instead of comma-separated string
[Upd]: Add Table Priority field to DME
[Fix]: WPF QueryPanel in the SubQuery dialog now copies all the settings from the parent query panel
[Fix]: Exception on export when we have zero group columns in aggregation settings
[Fix]: EasyQueryManager couldn't get a connection from a DbContext for SQLite
Version 7.1.2
[New]: AutoOuterJoins option: converts inner joins to outer ones automatically when necessary
[Upd]: A possibility to modify table's properties (name, schema, db) in DME
[Fix]: Wrong cast for the record count query that returns more than Int64
[Fix]: Wrong data type for aggregate columns
[Fix]: Hide MIN and MAX aggregate functions for boolean columns
[Fix]: NullReference exception on building SQL with custom columns
[Fix]: Replace full table paths with aliases in Custom SQL fields
[Fix]: Incorrect SQL when a custom column expression contains fields from different tables
Version 7.1.1
[New]: AggregationSettings.CaseSensitiveGroups option
[Upd]: Most of the method in SqlQueryBuilder class are protected virtual now
[Upd]: The latest version of EasyData library (1.3.4) is used now
[Fix]: Issue with saving query in ASP.NET 4
[Fix]: An error on virtual attribute expression processing
[Fix]:
TimeZoneOffset
was not processed properly for LINQ queries[Fix]: Few fixes for aggregation logic introduced in 7.1.0
[Fix]: Auto-generated parameterі were not cleared on
BuildSQL
/BuildParamSQL
calls inSqlQueryBuilder
Version 7.1.0
[New]:
AddDbTable
method ofTableStore
[New]: MergeEntities method in the DataModel class
[Upd]: DebugMode option
[Upd]: Add possibility to default format for type
[Upd]: Add
EnableAggrSelectInSubQuery
option for QueryPanel in WPF edition[Upd]: Improve
AddLink
method of TableLinkStore to accept DbTable as parameters[Upd]: Improve enum support
[Upd]: Support bool formatting.
[Upd]: INFO loging in EasyQueryManager and EasyQueryApiHandler
[Upd]: Make async operations cancelable via CancellationToken. ASP.NET Core middleware and ASP.NET Web API controller now support canceling operations on aborting the request
[Fix]: Incorrect rendering of the Operators / General tab in DME
[Fix]: Add a column alias in Count SQL (some DBs throw an error without it)
[Fix]: Wrong path search algorithm on SQL generation
[Fix]: Wrong behavior in DbModel.CreateTableAlias if createEntity == true
[Fix]: Wrong boolean literals for PostgreSQL
[Fix]: Bug with exception when add custom column to result set
[Fix]: TablePathFinder could add a surplus table sometime
Version 7.0.11
- [Fix]: Null reference exception on loading model from a DbContext when a type per hierarchy (TPH) approach is used in EF6.
Version 7.0.10
- [Fix]: An error in the situation when the numbers of query columns and result set colums don't match.
Version 7.0.9
[Upd]: Editing applied types for aggregate functions
[Fix]: Issue with enum properties
[Fix]: CROSS APPLY joins
Version 7.0.8
- [Upd]: Pass IEqResultSet into AfterColumnsAdded of ResultSetOptions
Version 7.0.7
- [Fix]: Alias search index validation in table-list to prevent index out of range exception
Version 7.0.6
[Upd]: Performance on loading table fields was improved for such DbGates: SqlServerGate, NpgSqlGate, MySqlGate, OdpCoreGate
[Upd]: Prevent adding MetaEntity or MetaEntityAttr to the DataModel
[Upd]: DataModel loading performance from JSON was improved
[Fix]: CreateValueEditor in ModelEditorForm
[Fix]: Filling DbName for table in SqlServerGate
Version 7.0.5
- [Fix]:
DbGate
is disposable now and uses passed connection to LoadFromConnectionDbModel
extension instead of creating a new one.
Version 7.0.4
- [Upd]: New signatures for DbEntityAttrDescriptor constructors
- [Upd]: Support totals during export
- [Fix]: Problem with AddConditions button in WinForms edition
- [Fix]: Setting display format during LoadFromEntityType.
Version 7.0.2
[New]: Add
UseSchemas(schemas)
method toDbConnectionModelLoaderOptions
.[Fix]: Legacy paging behaviour
[Fix]: Wrong SQL error for Oracle DBs
[Fix]: Problem with method not found for NpgSql 5.0.x version in NpgSqlGate
Version 7.0.1
[Fix]: The list of entities was incorrectly filtered after opening Edit Sub-Query dialog
[Fix]: Wrong type of result columns when COUNT aggregate function is used
[Fix]: Remove surplus PreFetch on exporting
[Fix]: GetRecordCountAsync behaviour when there is no selected column in query
[Fix]: Null reference exception in GetOperand
[Fix]: Wrong behavior of Condition.Clone for conditions with sub-queries
Version 7.0.0
[New]: PDF and Excel exporters
[New]: DisplatFormat for EntityAttr
[New]:
eq-page-navigator
tag helper in ASP.NET Core[New]: DataModel.Validate function that throws an exception if something is wrong with the model
[New]: AppliedTo property in AggrFunction - defines the list of types this aggregate function can be applied to
[New]: AutoResolveModelOnQueryLoad option in EasyQueryOptions
[New]: MapEasyQuery extension method
[New]:
SortAlphabetically
option when loading model from DbContext[New]: Add policy support for DefaulteqauthProvider in ASP.NET Core
[New]: New CreateEntityAttr and AddEntityAttr methods of model that take descriptor
[New]:
AddColumn
method in Query to create column by descriptor[New]: AddLink and UpdateLink methods in TableLinkStore
[Upd]: Rename
Column
->QueryColumn
and its events[Upd]: RazorUI options
ExportFormats
. Allows define formats to be used on client-side as comma-separated list[Upd]: Pass columns in BeforeAddRow function. CreateRow is now virtual
[Upd]: Change LicenseKey endpoint logic. Add support for ASP.NET 4
[Upd]: Korzh.EasyQuery.WinForms.ModelEditor now supports .NET Core 3.1 and .NET 5
[Upd]: Make FileQueryStore more flexible for inheritance
[Upd]: Use
Microsoft.Data.SqlClient
package for SqlServerGate[Upd]: DbContextModelLoader uses the same SqlFormats as defined in EasyQueryOptions
[Upd]: AlwaysQuote sql format to determine wether all tables and columns should be always quoted in SQL
[Upd]: Add missed resource strings for date/time operators
[Upd]: Refactor EasyQueryManager lifecycle in ASP.NET 4.x Controller.
[Upd]: Chart setting for Razor pages. Use ResultFacetsPanel for AdhocReporting if JS Version is 6.1.x or higher
[Upd]: Remove
QueryFormats
andDbQueryFormats
.SqlFormats
introduced.[Upd]: Optimize fetching data. Refactor with async methods
[Upd]: Removed
DbColumn
class.[Upd]:
DbQuery
constructor throws error if model is notDbModel
[Upd]: Auto additg editor to the model on assigning for attribute or operand. Add special function to set editor without such logic
[Upd]: AddSimpleCondition overload with
EntityAttr
andOperator
parameters[Upd]: Rename
MsSqlGate
->SqlServerGate
package[Upd]:
TableLinkList.FindByTables
overload to take table aliases as parameters[Fix]: Reading schema and db name of table in NpgSqlGate
[Fix]: Add Transaction to SQL keywords list for auto-qouting
Version 5.4.7 - EasyQuery Kernel packages
[Fix]: Save LimitClause and SelectTop query options to XML and JSON
[Fix]: Data model operators saving/loading to/from JSON
Version 5.4.6 - EasyQuery Kernel packages
[Fix]: Wrong processing of "formats" request parameter in EasyQueryManagerSql
[Fix]: "IsAggregate" was not set properly for Custom SQL expressions
[Fix]: NullReference exception in case of "no path between 2 tables" situation
[Fix]: NullReference exception on queries with InJoin conditions
Version 5.4.5 - EasyQuery Kernel packages
[Upd]: Chart setting for Razor pages. Use ResultFacetsPanel for AdhocReporting if JS Version is 6.1.x or higher
[Fix]: Support for views in EF Core 5.0
Version 5.4.4 - EasyQuery Kernel packages
[New]: Add PreserveFormatting in IDataExportSettings
[New]: Condition.Clone method
[Upd]: Add
ShowDatasetInfo
options to DataExportSettings. AddGetDefaultSettings
to default exporters[Fix]: Support TPH in Entity Framework Core.
[Fix]: Ignored navigation properties were still added into the model
[Fix]: Processing sub-queries that have fields from the parent queries
[Fix]: Bug with adding expressions to group by from Virtual attributes and Custom Expressions when
GroupByCalcColumns
is turned off.[Fix]: Incorrect processing of old macro values (like $) on XML loading
[Fix]: Error on loading XML queries with sub-queries
Version 5.4.4 - EasyQuery .NET Framework packages
[Fix]: Drag-n-drop processing for LookupAttr attributes
[Fix]: EntitiesPanel shows both attributes lined with LookupAttr
[Fix]: Duplicate operation now creates new condition right after the original one
Version 5.4.3 - EasyQuery Kernel packages
[New]: ReturnQueryStatementOnExecute option fpr middleware
[Fix]: New queries were stored automatically if SaveQueryOnSync was turned on
[Fix]: Add Guid to quoted types
[Fix]: Do not hide UNIQUE fields with KEY fields for MsSqlServer when model is loaded from connection
Version 5.4.3 - EasyQuery .NET Framework packages
- [New]: ReturnQueryStatementOnExecute option processing
Version 5.4.2 - EasyQuery .NET Framework packages
Version 5.4.2 - EasyQuery Kernel packages
[New]: GetQueryFileExt function in EasyQueryApiHandler
[New]: Sort enum by its names with special attribute for property -
EqSortByEnumNames
[Fix]: Make EasyQueryManager IDisposible
[Fix]: DateTimeOffset was recognized as Int32 in SqlClientGate
[Fix]: Table category saving/loading to/from JSON
Version 5.4.1 - EasyQuery .NET Framework packages
[Upd]: Return querySaved on Sync
[Fix]: Return meta on executeQuery
Version 5.4.1 - EasyQuery Kernel packages
[New]: SkipForeignKeys option in DbContextLoaderOptions
[New]: HideKeyFields parameter in DbConnectionLoaderOptions
[New]: Default list value editors for special dates and times
[New]: Hide method in EntityAttr
[New]: Custom linq operators
[New]: QueryTuner option
[Upd]: Return querySaved on Sync
[Fix]: Value Editor wasn't saved together with default operand
[Fix]: Asynchronous saving/loading of InnerData and ExtraData in Query
[Fix]: Wrong behavior of TableStore.Add
[Fix]: UseInSorting parameter of Attribute processing on LoadFromEntityType
[Fix]: Check if Query not null before calling BuildQuery in EasyQueryManager
Version 5.4.0 - EasyQuery .NET Framework packages
[New]: Save query to file/ Load query from file functionality
[New]: GetFileExtentionByContentType virtual method.
This method allows to override the default behavior of getting the extension of the exported file by the content type.[New]: Index property in EqEntityAttribute and EqEntityAttrAttribute
[New]: Saving Model DbParameters locally in DME
[New]: Error processing in EasyQueryApiController
[Fix]: Table -> Aliases splitting mechanism on loading from a DbContext or DbConnection
[Fix]: Remove BOM from the response content created by EasyQuery actions result classes
[Fix]: Checking connection string before checking db connection in DME
[Fix]: Save model loaded from JSON file in DME
[Fix]: Process ExtraParams in EasyQueryApiController.
Version 5.4.0 - EasyQuery Kernel packages
[New]: EqErrorResult implementation of ActionResult for Controller
[New]: Save query to file/ Load query from file functionality
[New]: Clien Extra Conditions support
[New]: DoNotPrettifyNames method in DbConnectionLoaderOptions
[New]: Lightweight result set format
[New]: Query.InnerData dynamic property
This object allows to store some addtional information with each query. For example, save the list of facets in the result panel[New]: FileQueryStoreSettings.FileFormat property.
By default this the value of this property is "json" but you can also set to "xml"[New]: HasSubQuery option in EntityAttr
It's set to true when the attribute's expression contains a sub-query[New]: Add custom tuner
[New]: AddFileExtensionsResolver to middleware options.
This option allows to amend the file extension of the exporting data.[New]: DeleteSubEntities() methods in Entity class.
2 methods which allow to remove sub-entities of some entity based either on their names or some "filter" function.[New]: Show() and Hide() method in Entity class
These methods allow to hide or show some entity (turn off/on all UseIn... properties) with a one line of code[New]: DisplayName property in EqEntityAttrAttribute
[New]: TableLink.SwitchDirection method
This method allows to switch the direction of the link between two tables (Table1 -> Table2 becomes Table2 -> Table1)[New]: Add Index property to EqEntityAttribute and EqEntityAttrAttribute
[Upd]: Refactor EasyQueryMiddleware with EasyQueryApiHandler
[Upd]: Suppot sorted columns in DynamicQuery
[Fix]: ExecuteQuery of EasyQueryManagerLinq. Add SortedColumns support
[Fix]: Save/Load Query.ExtraData to/from XML
[Fix]: GROUP BY cluase for columns with sub-queries
[Fix]: Table -> Aliases splitting mechanism on loading from a DbContext or DbConnection
[Fix]: TableLink.Enabled was not saved to the data model file
[Fix]: Table priority was not taken into account on constructing the path between tables
[Fix]: Saving editors in JSON
[Fix]: Saving file path on loading model from JSON file
Version 5.3.7 - EasyQuery Kernel packages
[New]: DataExportTuner interface
This interface allows you to tune export settings[New]: ExtraParams property in ListValueEditor
[Upd]: Updated the registration of CustomValueListResolver.
Notice. OldAddValueListResolver
method ofEasyQueryOptions
is deprecated now. Use a new one.
Version 5.3.6 - EasyQuery .NET Framework packages
[Fix]: Name prettifier on model load
[Fix]: Problem with macro processing date in WinForms
Version 5.3.6 of EasyQuery kernel packages
[Fix]: Wrong SQL when there is a group with all disabled conditions
[Fix]: Name prettifier on model loading from a DbConnection
[Fix]: Problem with SelectDistinct when LegacyPaging is true
Now SqlQueryBuilder uses DENSE_RANK() function instead of ROW_NUMBER() when SelectDistinct is true[Fix]: Formatting when value contains new line symbol
[Fix]: Ignore RowNumber column on export
RowNumber column for legacy page was not ignored on export
Version 5.3.5 of EasyQuery kernel packages
[New]: Formats.JoinsOrder propery in SqlQueryBuilder
Allows to define the order of table joins in the FROM clause of generated SQL[New]: LegacyPaging option for DbQueryFormats
Enables paging which uses ROW_NUMBER() function.[New]: UseCustomFuncInOrderBy option for DbEntityAttr
If the option is set to false, CustomFunc of the EntityAttr will not be added to order by expression.[Fix]: Wrong format of JSON file on saving via FileQueryStore
If size of the target file is bigger than the size of the saved content - we got wrong JSON in result.[Fix]: Paging support for Oracle
Paging was not turned on by default for FormatType.Oracle format type. Now it's properly supported the similar way as for SQL Server
Version 5.3.4
[New]:
ReturnQueryOnSave
option for EasyQueryMiddleware option.[Fix]:
CustomFunc
is processed before applying the aggregate functions in columns.