Deprecate redundant EdmDeltaResourceObject and EdmDeltaComplexObject
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 505
- Forks
- 186
- PR merge metrics
- No merged PRs in 30d
Description
Originally, EdmStructuredObject (the base class for EdmEntityObject and EdmComplexObject) did not implement IEdmChangedObject. However, four years ago, a change was introduced through [this commit](https://github.com/OData/AspNetCoreOData/commit/ee937986a197b9a231f63017790b3cfd3ce0621b) to make EdmStructuredObject implement IEdmChangedObject. This allowed both EdmEntityObject and EdmComplexObject to represent delta payloads.
As a result, EdmDeltaResourceObject and EdmDeltaComplexObject became redundant and should have been deprecated, as noted in this TODO:
[EdmDeltaResourceObject.cs#L24](https://github.com/OData/AspNetCoreOData/blame/c60d9e0e9f68d23ee8ccd84e854ef7e430fe6edb/src/Microsoft.AspNetCore.OData/Formatter/Value/EdmDeltaResourceObject.cs#L24)
I think we should mark redundant EdmDeltaResourceObject and EdmDeltaComplexObject as obsolete and remove them in the next major release
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start with the TODO in EdmDeltaResourceObject.cs and inspect the corresponding EdmDeltaComplexObject implementation, then compare both with EdmStructuredObject and IEdmChangedObject. Confirm the obsolete-marking and next-major-release expectations; done means the redundant types are handled consistently without breaking the current release.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100