Cosmos: Support UDFs
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start by reviewing the EF Core Cosmos provider and its query translation and mapping APIs, using the issue’s UDF example as the expected scenario. Determine whether an attribute or fluent API can map a property to a UDF result, and define completion around supported configuration and the corresponding generated query.
Written by the indexing model from the issue text.
Description
I am wondering whether there is an attribute or a fluent API method that would allow me to tell EF Core to map an entity property to a result of a UDF invoked with that document as a parameter so that a context of the collection could be used to compute the value of the property from other documents in the collection.
Specifically, something like this:
SELECT {{ firstName: item.FirstName, lastName: item.LastName, test: udf.test(item) }} FROM AppDbContext item
As opposed to something like this which I assume the Cosmos provider already generates:
SELECT {{ firstName: item.FirstName, lastName: item.LastName, test: item.Test }} FROM AppDbContext item
Further technical details
EF Core version: Microsoft.EntityFrameworkCore.Cosmos 2.2.4
Database Provider: Microsoft.EntityFrameworkCore.Cosmos
Operating system: Windows 10
IDE: VS Code
- Dominant language
- C#
- Stars
- 14.8k
- Forks
- 3.4k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 134
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/efcore
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
customer-reported
Difficulty 5/5 Over a week Newbie friendliness 38/100
-
area-cosmos area-vector-search
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
area-cosmos
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
area-tools needs-design
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100