You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EnsureTypeCompatibility now detects Nullable<T> -> T (and Nullable<T>
-> U for different value types) and wraps with Expression.Coalesce
instead of Expression.Convert. This generates COALESCE(column, 0) in
SQL, preventing "Nullable object must have a value" at materialization.
Covers double?, int?, bool?, DateTime?, and all other value types.
In-memory ConvertValue path already handled this correctly.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
6
6
7
7
## [Unreleased]
8
8
9
+
## [10.0.20] - 2026-03-31
10
+
11
+
### Fixed
12
+
13
+
-`ProjectTo` now coalesces `Nullable<T>` source properties to `default(T)` when projecting to non-nullable destination properties (e.g. `double?` -> `double`), generating `COALESCE` in SQL instead of throwing `InvalidOperationException: Nullable object must have a value`
<PackageReleaseNotes>10.0.19: Added implicit self-mapping (T -> T) and implicit type conversions (numeric, enum, string, nullable) for convention-mapped properties. Fixed ProjectTo coercion error for Nullable to string projections; fixed ConvertValue throwing on incompatible string-to-numeric/enum convention matches. See https://github.com/panoramicdata/PanoramicData.Mapper/blob/main/CHANGELOG.md for details.</PackageReleaseNotes>
29
+
<PackageReleaseNotes>10.0.20: Fixed ProjectTo nullable-to-non-nullable coalescing (double? -> double now generates COALESCE in SQL). 10.0.19: Added implicit self-mapping (T -> T) and implicit type conversions (numeric, enum, string, nullable) for convention-mapped properties. Fixed ProjectTo coercion error for Nullable to string projections; fixed ConvertValue throwing on incompatible string-to-numeric/enum convention matches. See https://github.com/panoramicdata/PanoramicData.Mapper/blob/main/CHANGELOG.md for details.</PackageReleaseNotes>
0 commit comments