Ho una struttura di oggetto modulo personalizzata che utilizzo correttamente con mongodb.È possibile utilizzare il polimorfismo/ereditarietà nel driver C# DocumentDb
Ho studiato la possibilità di sostituire Mongo con DocumentDb.
La struttura My Class è costituita da un controllo di base ereditato da diversi tipi di controllo. per esempio. Controllo casella di testo, Dropdown Control
In mongo utilizzo il campo discriminatore per memorizzare il tipo effettivo, nel driver C# DocumentDb non riesco a trovare la stessa funzione.
di seguito è un esempio di come mongo memorizza la mia struttura di classe.
{
"_t" : "TextboxControl",
"LabelText" : "Location of incident",
"IsRequired" : true,
"_id" : "cbe059d9-b6a9-4de2-b63b-14d44b022e37"
}
Nel documentdb la struttura si presenta come
{
"LabelText": "Location of incident",
"IsRequired": true,
"id": "cbe059d9-b6a9-4de2-b63b-14d44b022e37"
}
Come si può vedere la versione mongo ha una proprietà "_t" indicando il tipo effettivo, questo viene poi utilizzato quando ho letto i dati per creare il tipo corretto Nella versione documentdb è semplicemente un fieldtype
supporto adeguata per JsonSerializerSettings è finalmente in lavorazione da MS: https://github.com/Azure/azure-documentdb-dotnet/issues/229 – AndyJ