azure-sdk-for-net icon indicating copy to clipboard operation
azure-sdk-for-net copied to clipboard

[FEATURE REQ] Bring back the TableEntityAdapter for Azure.Data.Tables

Open ChristianEder opened this issue 2 years ago • 2 comments

Library name

Azure.Data.Tables

Please describe the feature.

In the "old" SDKs such as Microsoft.WindowsAzure.Storage.Table, there was a class called TableEntityAdapter which implemented the ITableEntity interface and allowed to write and read any POCO (given some restrictions on property types are met) without having the POCO implement ITableEntity itself. See https://github.com/Azure/azure-storage-net/blob/07d66a4917ab03cb5e7262774235d2d2f7e65752/Lib/Common/Table/TableEntityAdapter.cs

As of now, I don't see any replacement for this in the new Azure.Data.Tables SDK.

The background for this request is that I'd like to define my storage entities without requiring them to have a dependency on the Azure.Data.Tables SDK.

ChristianEder avatar Feb 21 '22 11:02 ChristianEder

Thank you for your feedback. Tagging and routing to the team member best able to assist.

jsquire avatar Feb 21 '22 15:02 jsquire

I would like to see this done in a way that continues to allow for the independent use of the "Flatten" and "ConvertBack" functionality. For my use, I find it simpler to use the EntityPropertyConverter functionality without use of the TableEntityAdapter.

ebussa avatar Aug 09 '22 13:08 ebussa

Any update on this? At the moment you still have to implement ITableEntity in your class...

LockTar avatar Jan 20 '23 14:01 LockTar

We're considering this feature for next semester.

christothes avatar Jan 20 '23 15:01 christothes

You can use Flatten and ConvertBack methods directly via this nuget https://www.nuget.org/packages/ObjectFlattenerRecomposer.Core This updated version also supports collection type properties and othe unsopported types in the azure sdk.

doguvolkanarslan avatar Mar 01 '24 10:03 doguvolkanarslan

Hi @ChristianEder, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

github-actions[bot] avatar Apr 01 '24 18:04 github-actions[bot]