Changelog

The JS version changelog is available by this link.

Version 7.3.3

2024-04-14

Version 7.3.1

2024-03-04

Version 7.3.0

2024-02-26

Version 7.2.5-rc03

2024-01-09
  • [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

2023-11-15
  • [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

2023-03-15
  • [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

2022-07-06
  • [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

2022-02-24
  • [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

2022-01-31
  • [New]: Now we can use AddDays, AddMonths, and AddYears functions in attribute expressions

  • [New]: modelId and extra 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

2021-10-15
  • [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

2021-09-01
  • [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 in SqlQueryBuilder

Version 7.1.0

2021-07-27
  • [New]: AddDbTable method of TableStore

  • [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

2021-06-16
  • [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

2021-06-16
  • [Fix]: An error in the situation when the numbers of query columns and result set colums don't match.

Version 7.0.9

2021-05-28
  • [Upd]: Editing applied types for aggregate functions

  • [Fix]: Issue with enum properties

  • [Fix]: CROSS APPLY joins

Version 7.0.8

2021-05-21
  • [Upd]: Pass IEqResultSet into AfterColumnsAdded of ResultSetOptions

Version 7.0.7

2021-04-22
  • [Fix]: Alias search index validation in table-list to prevent index out of range exception

Version 7.0.6

2021-04-09
  • [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

2021-03-31
  • [Fix]: DbGate is disposable now and uses passed connection to LoadFromConnection DbModel extension instead of creating a new one.

Version 7.0.4

2021-03-29
  • [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

2021-03-23
  • [New]: Add UseSchemas(schemas) method to DbConnectionModelLoaderOptions.

  • [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

2021-03-12
  • [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

2021-02-26
  • [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 and DbQueryFormats. SqlFormats introduced.

  • [Upd]: Optimize fetching data. Refactor with async methods

  • [Upd]: Removed DbColumn class.

  • [Upd]: DbQuery constructor throws error if model is not DbModel

  • [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 and Operator 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

2021-01-27
  • [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

2021-01-19
  • [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

2021-01-09
  • [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

2020-12-01
  • [New]: Add PreserveFormatting in IDataExportSettings

  • [New]: Condition.Clone method

  • [Upd]: Add ShowDatasetInfo options to DataExportSettings. Add GetDefaultSettings 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

2020-12-02
  • [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

2020-10-23
  • [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

2020-10-26
  • [New]: ReturnQueryStatementOnExecute option processing

Version 5.4.2 - EasyQuery .NET Framework packages

2020-09-30

Version 5.4.2 - EasyQuery Kernel packages

2020-09-30
  • [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

2020-09-11
  • [Upd]: Return querySaved on Sync

  • [Fix]: Return meta on executeQuery

Version 5.4.1 - EasyQuery Kernel packages

2020-09-11
  • [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

2020-08-17
  • [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

2020-08-18
  • [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

2020-04-26
  • [New]: DataExportTuner interface
    This interface allows you to tune export settings

  • [New]: ExtraParams property in ListValueEditor

  • [Upd]: Updated the registration of CustomValueListResolver.
    Notice. Old AddValueListResolver method of EasyQueryOptions is deprecated now. Use a new one.

Version 5.3.6 - EasyQuery .NET Framework packages

2020-04-10
  • [Fix]: Name prettifier on model load

  • [Fix]: Problem with macro processing date in WinForms

Version 5.3.6 of EasyQuery kernel packages

2020-04-09
  • [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

2020-03-30
  • [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

2020-03-06
  • [New]: ReturnQueryOnSave option for EasyQueryMiddleware option.

  • [Fix]: CustomFunc is processed before applying the aggregate functions in columns.

We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
Powered by AiSTANT