Ho un programma C # / SQL Server che a volte ha bisogno di memorizzare i dati. I dati potrebbero essere una risposta da un servizio Web, un risultato di una query di database o un numero qualsiasi di altre cose. Non c'è modo di sapere prima che i dati vengano archiviati quanti campi potrebbe avere o quale potrebbe essere la struttura dati. Abbiamo questo tipo di tavolo doloroso che stiamo usando per questo ... quattro colonne e un sacco di righe. Un esempio dei dati potrebbe essere più semplice di una spiegazione.
InstanceID RowID PropertyName PropertyValue
1 1 Property1 Value1
1 1 Property2 Value2
1 1 Property3 Value3
1 2 Property1 Value1
1 2 Property2 Value2
1 2 Property3 Value3
2 1 OtherProp1 Value1
2 1 OtherProp2 Value2
2 2 OtherProp1 Value1
2 2 OtherProp2 Value2
Questi valori verranno quindi ritrasformati e inseriti in un oggetto dizionario, che può essere aggiornato, quindi i campi verranno reinseriti nel database. Questo può essere difficile da codificare, e richiede anche molti inserimenti che possono renderlo molto lento.
Non riesco a pensare a un modo migliore per farlo, ma sento che ce ne deve essere uno. Qualche consiglio?