[CSHARP-4738] LINQ3: Support pipeline in $lookup translations (Join/GroupJoin) Created: 01/Aug/23 Updated: 09/Aug/23 |
|
| Status: | Backlog |
| Project: | C# Driver |
| Component/s: | LINQ3 |
| Affects Version/s: | 2.20.0 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Unknown |
| Reporter: | Alistair Steele | Assignee: | Robert Stam |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | LINQ3 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
I'm trying to do a GroupJoin between two aggregation queries. i.e. Collection1.OfType<TypeA>().GroupJoin(Collection2.OfType<TypeB>(), ...) Trying to do this fails currently in ExtensionMethods.GetCollectionInfo as the inner expression is not considered constant. $lookup looks to support this via the 'pipeline' parameter however there doesn't look to be any way to supply this through LINQ Join/GroupJoin translations.
I'm not sure if it's possible to add this support, I guess it would need to separate out the collection (constant expression) from the pipeline and forward the pipeline as the lookup parameter?
Thanks |
| Comments |
| Comment by Robert Stam [ 09/Aug/23 ] |
|
Thanks for reporting this and for finding CSHARP-4246 also. I'm going to link the two tickets as related rather than as duplicates. CSHARP-4246 is about the aggregation builders. CSHARP-4738 (this ticket) is about similar functionality in LINQ. |
| Comment by Alistair Steele [ 02/Aug/23 ] |
|
Actually after some further searching it looks like this may already be tracked under CSHARP-4246. |
| Comment by PM Bot [ 01/Aug/23 ] |
|
Hi alistair.steele@trapdoorlabs.uk, thank you for reporting this issue! The team will look into it and get back to you soon. |