我想使用实体框架从CSV文件导入数据到SQL数据库
本文关键字:导入 文件 数据 数据库 SQL CSV 实体 框架 | 更新日期: 2023-09-27 17:53:23
我想从CSV文件插入数据到SQL表。这是我的代码,我不知道如何继续
var readcsv = File.ReadAllText(filepath);
string[] csvfilerecord = readcsv.Split(''n');
foreach (var row in csvfilerecord)
{
if (!string.IsNullOrEmpty(row))
{
foreach (var cell in row.Split(','))
{
var cards = new Cards
{
//What to do here to assign data to each column
};
}
}
}
这是我的CSV文件数据
<>之前cvv, 12345年4月18日,姓名,国家,地址,国家,城市,强加于人,邮编,电话,电子邮件,10cvv, 12345年4月18日,姓名,国家,地址,国家,城市,强加于人,邮编,电话,电子邮件,10之前类定义 public string nummber { get; set; }
public string cvv { get; set; }
public string expDate { get; set; }
public string name { get; set; }
public string country { get; set; }
public string address { get; set; }
public string state { get; set; }
public string dob { get; set; }
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
// ...
};
}
}
您需要知道CSV的哪一列映射到哪个属性。有了这些信息,您可以将值映射到属性。
假设你有一个索引字典columnMap
,你可以使用
var cells = row.Split(',');
var cards = new Cards {
prop = cells[columnMap["prop"]],
nextProp = cells[columnMap["nextProp"]],
…
}
注意,我不会遍历CSV中一行的单独值。
还需要注意,当值包含逗号或引号时,您需要一个适当的CSV解析器来处理必要的转义/引用。