Esiste un file CSV con un'intestazione che deve essere inserita in un database tramite un'app Web.
È possibile inviare i dati a una stored procedure tramite Entity Framework? O qual è la soluzione migliore?
Deve essere fatto attraverso l'app web e la tabella ha una colonna in più che è solo un id univoco per ogni riga.
var readcsv = File.ReadAllText(filepath);
string[] csvfilerecord = readcsv.Split('\n');
foreach (var row in csvfilerecord)
{
if (!string.IsNullOrEmpty(row))
{
var cells = row.Split(','))
var card = new Cards
{
number = cells[0], // number is in first cell
cvv = cells[1], // cvv is in second cell
// ...
};
}
}
Hai bisogno di sapere quale colonna del CSV mappa a quale proprietà. Con queste informazioni è possibile mappare valori in proprietà.
Supponendo che tu abbia un dizionario di indici columnMap
che puoi usare
var cells = row.Split(',');
var cards = new Cards {
prop = cells[columnMap["prop"]],
nextProp = cells[columnMap["nextProp"]],
…
}
Nota Non eseguo iterazioni sui valori separati di una riga nel CSV.
Si noti inoltre che è necessario un parser CSV appropriato per gestire l'escaping / quoting necessario per quando i valori contengono virgole o virgolette.