voglio usare Codice EF prima per un database che sto attualmente accesso utilizzando pianura vecchio ADO.NET con le stored procedure.EF Codice Prima - Mappa dizionario o di tipo personalizzato come un nvarchar
Nel mio database ho alcune colonne nvarchar(MAX)
che devono essere mappate su e da un Dictionary<string, string>
.
quando viene salvato nel database, è una stringa in formato XML. Io uso questa tecnica per consentire l'internazionalizzazione di ad es. un nome di un prodotto in un negozio online. Non conosco il numero di lingue che un determinato utente desidera tradurre, quindi non posso avere una colonna Name
per ogni lingua.
ho anche voluto evitare di memorizzare i valori in una tabella separata, quindi ho finito con il Dizionario - approccio XML.
Il modo in cui lo faccio ora, è quello di trattare un qualsiasi di queste colonne come una stringa ogni volta che interagire con il database. Ho una funzione di mappatura personalizzata che può trasformare l'XML in un dizionario e tornare a XML.
Ma io non riesco a trovare un modo per farlo con il codice EF prima? Qualche idea?
Fantastico! Grazie :) - Non avrei pensato di farlo – Yablargo
Perché XML e non JSON, l'ultimo è più compatto e sarebbe più efficiente in termini di archiviazione DB no? – Piou
@Piou Non riesco a ricordare esattamente cosa stavo pensando cinque anni fa ma immagino di essere ancora più abituato all'XML e poi a JSON. Suppongo che l'esempio funzionerebbe anche con JSON, quindi sentitevi liberi di provarlo. Ricorda tuttavia che l'ottimizzazione prematura è la radice di tutto il male. –