Change Log
v1.8.0
2024-02-11
Added
Date Data Type: Added support for the "Date" data type, enabling straightforward searches for date values in your dynamic queries.
Changes & Enhancement
Enhanced Value Validation: Introduced strict value validation based on data types for precise query execution.
For the "Guid" type, values must be parsed to GUID or an error will be raised.
For the "Number" type, values must be parsed to byte, short, int, long, float, double, or decimal; otherwise, an error will be raised.
For the "Boolean" type, values must be parsed to bool; otherwise, an error will be raised.
For the "Date" or "DateTime" type, values must be parsed to DateTime; otherwise, an error will be raised.
v1.7.2
2024-02-09
Changes & Enhancement
List Property Search Fix: Resolved an issue where searching within properties inside lists using Any
was causing incorrect field representation. Now, the library intelligently handles properties within lists using reflection.
v1.7.0
2023-11-05
Added
Select Columns with Precision
With the new Select
feature, you can now specify exactly which columns you want to retrieve from your data source. Whether you're querying a single table, working with complex joins, or utilizing DynamicWhere.ex in your projects, you can tailor your query to return only the data you need.
Integration Across Multiple Layers
We've seamlessly integrated the Select
feature into various parts of DynamicWhere.ex:
Filter: You can now apply column selection when defining filter conditions, ensuring that the returned results contain only the columns you specify.
Segment: For those who work with complex queries or need to segment their data, the
Select
functionality is fully compatible, allowing you to select columns at the segment level.Individual Function: We've also introduced a standalone
Select
function, making it easy to apply selective column projection to any query.
v1.6.0
2023-09-30
Changes & Enhancement
PageBy Validation (Breaking Change): Added validation to the
PageBy
class for pagination settings to ensurePageNumber
andPageSize
are zero or positive numbers.Improved
ToListAsync
Implementation: Enhanced the code implementation of theToListAsync
method in theSegment
class for improved efficiency and readability.
Added
Enhanced Segment Ordering: The
Segment
class now supports an optional list ofOrderBy
objects for specifying sorting criteria in dynamic queries.New
ToListAsync
Method: Introduced a new extension method,ToListAsync
, to filter and paginateIQueryable<T>
sources based on aFilter
configuration.
These changes in version 1.6.0 enhance the usability and maintainability of DynamicWhere.ex, empowering you to work with dynamic queries and paginated data more effectively.
v1.5.0
2023-09-22
Changes & Enhancement
Modified the ToListAsync<T>(this IQueryable<T> query, Segment segment)
method to return a SegmentResult<T>
instead of a List<T>
.
Now, when executing an asynchronous query using this method, you will receive a SegmentResult<T>
object, which contains the list of query results that match the specified conditions within the Segment
, along with pagination information if provided.
This change enhances the flexibility of result management, allowing you to access both the query results and pagination details in a structured manner.
v1.4.3
2023-09-22
Added
Optional pagination feature to the Segment
class:
You can now include a "Page"
object within the Segment
to specify pagination settings, such as "PageNumber"
and "PageSize"
. This allows for more fine-grained control over the results returned by dynamic queries.
Pagination settings applied at the Segment
level ensure that the pagination is performed on the final result set, providing you with precise control over how the entire query result is paginated.
v1.4.1
2023-09-18
Enhanced Flexibility
The
Filter
configuration in dynamic queries has been improved for greater flexibility.ConditionGroup
,Orders
, andPage
objects are now nullable within theFilter
class.This change allows you to use any combination of
ConditionGroup
,Orders
, orPage
based on your specific query requirements.If any of these objects are set to
null
, they will not impact the query, providing more adaptable and versatile query configurations.
v1.4.0
2023-09-14
Added
Added support for pagination, allowing users to specify page numbers and page sizes using the
PageBy
class.Implemented the ability to define sorting criteria using the
OrderBy
class.Introduced the
Filter
class, enabling users to configure complex dynamic queries.
v1.3.0
2023-09-13
Refactored
Refactored and improved codebase for better maintainability.
Added comprehensive documentation, summaries, and comments to enhance code readability.
Introduced meaningful names and structuring to make code cleaner and more understandable.
v1.2.0
2023-09-12
Added
Added support for the GUID data type, allowing filtering and comparisons using GUID values.
Enabled case-insensitive comparisons for text data types.
Introduced the ability to specify nested property names in conditions.
v1.0.0
2023-09-11
Initial Release
The DynamicWhere.ex library is released, providing dynamic querying capabilities for LINQ queries.
Last updated