Repository navigation
Commit 26fe02c
Ben O'Donovan
Keep conversions around a grouping key on the server
- A projection lifted out of a grouping ran a conversion around g.Key in its client selector, replacing the database's CAST
semantics with .NET's: (decimal)g.Key over a double key no longer rounded to the mapped scale, and (int)g.Key over a long
key wrapped around instead of failing on overflow.
- Only conversions which can't change the value - to or from the nullable form, boxing, and reference conversions - are now
applied on the client. Any other conversion makes the projection keep its non-lifted translation, which casts on the server.
- Add tests for a key conversion which changes the value and one which doesn't.
Fixes #393671 parent 4dbb574 commit 26fe02c
3 files changed
Lines changed: 68 additions & 1 deletion
File tree
- src/EFCore.Relational/Query
- test
- EFCore.Specification.Tests/Query
- EFCore.SqlServer.FunctionalTests/Query
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1658 | 1658 | | |
1659 | 1659 | | |
1660 | 1660 | | |
1661 | | - | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
1662 | 1669 | | |
1663 | 1670 | | |
1664 | 1671 | | |
| |||
1667 | 1674 | | |
1668 | 1675 | | |
1669 | 1676 | | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
1670 | 1682 | | |
1671 | 1683 | | |
1672 | 1684 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3172 | 3172 | | |
3173 | 3173 | | |
3174 | 3174 | | |
| 3175 | + | |
| 3176 | + | |
| 3177 | + | |
| 3178 | + | |
| 3179 | + | |
| 3180 | + | |
| 3181 | + | |
| 3182 | + | |
| 3183 | + | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
| 3194 | + | |
| 3195 | + | |
| 3196 | + | |
| 3197 | + | |
| 3198 | + | |
| 3199 | + | |
| 3200 | + | |
3175 | 3201 | | |
3176 | 3202 | | |
3177 | 3203 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4286 | 4286 | | |
4287 | 4287 | | |
4288 | 4288 | | |
| 4289 | + | |
| 4290 | + | |
| 4291 | + | |
| 4292 | + | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
| 4296 | + | |
| 4297 | + | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + | |
| 4301 | + | |
| 4302 | + | |
| 4303 | + | |
| 4304 | + | |
| 4305 | + | |
| 4306 | + | |
| 4307 | + | |
| 4308 | + | |
| 4309 | + | |
| 4310 | + | |
| 4311 | + | |
| 4312 | + | |
| 4313 | + | |
| 4314 | + | |
| 4315 | + | |
| 4316 | + | |
| 4317 | + | |
4289 | 4318 | | |
4290 | 4319 | | |
4291 | 4320 | | |
| |||
0 commit comments