Wystarczy popatrzeć na opakowaniu I wdrożone i umieścić w Nuget: https://www.nuget.org/packages/ObjectFlattenerRecomposer/
Jest również dodatkiem do Azure Storage SDK następnej wersji: https://github.com/Azure/azure-storage-net/pull/337/files
Opis:
zapewnia funkcjonalność do spłaszcz obiekty złożone w słowniku EntityProperty i funkcję, aby ponownie skompilować oryginalny obiekt złożony ze spłaszczonego słownika właściwości. Jednym z nich jest to, że API umożliwia pisanie dowolnego złożonego obiektu z zagnieżdżonymi właściwościami do magazynu Azure Table w spłaszczonej formie, co nie jest normalnie możliwe przy użyciu pakietu SDK Azure Storage Client.
Wersja 2.0 obsługuje teraz pisanie i odczytywanie właściwości typu IEnumerable
, takich jak listy, tablice, słowniki do magazynu tabel Azure.
Blog: https://doguarslan.wordpress.com/2016/02/03/writing-complex-objects-to-azure-table-storage/
Zastosowanie: // zrównywanie obiekt i przekształcić go EntityProperty Słownik
słownik flattenedProperties = ObjectFlattenerRecomposer.Flatten (complexObject);
// Utwórz opcję DynamicTableEntity i ustaw jej PK i RK DynamicTableEntity dynamicTableEntity = new DynamicTableEntity (partitionKey, rowKey);
dynamicTableEntity.Properties = flattenedProperties;
// Wpisz DynammicTableEntity w Azure Storage Table użyciu SDK klienta
// Czytaj jednostkę powrotnej z AzureTableStorage jak DynamicTableEntity przy użyciu tego samego PK i RK podmiot DynamicTableEntity = [Czytaj z Azure używając PK i RK] ;
// Konwersja elementu DynamicTableEntity z powrotem na oryginalny obiekt złożony. Wyobraź sobie oryginalny complexObject należał do typu Order.
Kolejność zleceń = ObjectFlattenerRecomposer.ConvertBack (entity.Properties);
To nie działa w bieżącej wersji zestawu SDK. – James