v3.0.0
New Features
Finally: the companion package CodoMetis.ValueRanges.EFCore.PostgreSQL is here! It enables seamless mapping of range types to PostgreSQL range and multirange columns (leveraging NpgsqlRange<T> under the hood). Implemented LINQ-to-SQL query translation for range operations, including Contains, Overlaps, Intersect, Except and Union. Added support for RangeSet translation and query expression rewriting to properly translate from C# operators (&, |, -) to their Postgres-equivalents.
Breaking Changes
State-check methods now require parentheses
IsEmpty, IsFinite, IsInfinity, IsUnboundedStart, and IsUnboundedEnd were extension properties in v2.x. In v3.0.0 they are extension methods — add parentheses at every call site:
// v2.x
if (range.IsEmpty) { … }
// v3.0.0
if (range.IsEmpty()) { … }The change is mechanical and the compiler will flag every affected site. The motivation is EF Core compatibility: extension properties cannot appear in LINQ expression trees, preventing SQL translation. As extension methods they are fully translated by the EF Core companion package.
Full Changelog: v2.0.0...v3.0.0