Qual è il miglior tipo di dati SQL per la memorizzazione della stringa JSON?Qual è il miglior tipo di dati SQL per la memorizzazione della stringa JSON?
static List<ProductModel> CreateProductList()
{
string json = @"[
{
ProductId: 1,
ProductCode: 'A',
Product: 'A'
},
{
ProductId: 2,
ProductCode: 'B',
Product: 'B'
}
]";
IList<JToken> tokenList = JToken.Parse(json).ToList();
List<ProductModel> productList = new List<ProductModel>();
foreach (JToken token in tokenList)
{
productList.Add(JsonConvert.DeserializeObject<ProductModel>(token.ToString()));
}
return productList;
}
Quale tipo di dati SQL dovremmo utilizzare per la memorizzazione di tale stringa contenente JSON?
NVARCHAR(255)
?TEXT
?VARBINARY(MAX)
?
Solo qualche rumore casuale (il commento, non i dati): Si potrebbe desiderare di comprimere troppo. In tal caso hai bisogno di qualcosa di binario. D'altra parte: perché non progettare solo tabelle adeguate per i dati? –
@Il chiodo: A volte la memorizzazione di qualcosa come JSON (o come "documento") è appropriata per il bisogno. Come per un motore di workflow o per la gestione di documenti, ecc. Lo sto facendo su un progetto attuale, passando dall'approccio relazionale a quello documentale per il lato comando della mia implementazione CQRS. È molto veloce se si utilizza un serializzatore come ServiceStack o JSON.Net. – swannee