Skip to content

Fix projection to preserve EF constructor-injected services#9199

Merged
michaelstaib merged 7 commits intomainfrom
mst/issue-5449
Feb 25, 2026
Merged

Fix projection to preserve EF constructor-injected services#9199
michaelstaib merged 7 commits intomainfrom
mst/issue-5449

Conversation

@michaelstaib
Copy link
Copy Markdown
Member

@michaelstaib michaelstaib commented Feb 24, 2026

  • preserve existing projected instances for types that expose non-public parameterized constructors
  • keep the projection pipeline from reconstructing those types with new T { ... }, which drops EF constructor-injected services
  • add an EF regression test covering [UseProjection] with constructor-injected DbContext behavior

Closes #5449

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 25, 2026

Fusion Gateway Performance Results

Simple Composite Query

Req/s Err%
Constant 2 (50 VUs) 3250.79 0.00%
Ramping 2 (0-500-0 VUs) 3834.90 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 1.13ms 12.44ms 15.11ms 24.25ms 33.59ms 252.45ms
Ramping 2 1.10ms 52.50ms 57.04ms 99.11ms 142.67ms 283.26ms

Deep Recursion Query

Req/s Err%
Constant 2 (50 VUs) 650.08 0.00%
Ramping 2 (0-500-0 VUs) 789.27 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 11.07ms 66.58ms 74.00ms 94.70ms 118.49ms 818.22ms
Ramping 2 2.91ms 235.60ms 261.40ms 546.37ms 610.39ms 1049.35ms

Variable Batching Throughput

Req/s Err%
Constant 2 (50 VUs) 6052.70 0.00%
Ramping 2 (0-500-0 VUs) 6390.74 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 0.15ms 7.73ms 8.16ms 13.49ms 16.59ms 56.27ms
Ramping 2 0.14ms 31.35ms 35.95ms 66.13ms 92.87ms 202.50ms

Runner 2 = benchmarking-2

Run 22417123165 • Commit 134ad9c • Wed, 25 Feb 2026 22:39:00 GMT

@michaelstaib michaelstaib added the 🎬 ready Ready to merge label Feb 25, 2026
@michaelstaib michaelstaib removed the 🎬 ready Ready to merge label Feb 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Injecting service in entitytype constructor

1 participant