gpt4 book ai didi

c# - 如何执行从文件中读取数据,然后验证数据并将数据异步插入数据库操作

转载 作者:行者123 更新时间:2023-11-30 12:45:57 25 4
gpt4 key购买 nike

我的Windows服务中有以下三种方法将CSV数据文件转换成Sql server数据库。

  • 方法一:从CSV文件中读取数据(每一行包含一个Employee数据)

  • 方法二:通过Employee Id,Name等验证数据

  • 方法三:向数据库表中插入数据。

目前,我正在从 CSV 文件中读取一行并逐个调用上述 3 个方法(意味着完成方法 1 后我将启动方法 2,完成方法 2 后我将启动方法 3。然后我将再次阅读CSV 文件中的另一行并重复相同的步骤)

由于这是一个同步过程,因此处理一个包含超过一万条记录的文件需要很长时间。

如果我想让它成为一个异步过程,我将如何异步调用我的方法,我应该使用哪些 C# 类来实现这一点?

最佳答案

要做到这一点,最好的办法是在代码中创建您的类,为您的类创建一个列表,在验证时将经过验证的数据添加到此列表中,而未经过验证的数据您可以将它们放在字符串或另一个列表中以表明其余未插入。

接受员工名单

public List<Employee> acceptedEmployees = new List<Employee>();

雇员类

class Employee {
public int ID{ get; set; }
public string Name{ get; set; }

public Employee(int ID, string name)
{
ID = ID;
Name = name;
}
}

在循环中,您可以将它们添加到列表中,然后从该列表中创建批量插入或生成日志或将它们发送回客户端。

当您将批处理添加到数据库时,请确保使用 1 个连接来插入所有内容,不要在每个插入批处理上进行连接,这会使您的系统变慢。

列表完成后,您可以创建每个语句 500 个的批量插入,例如:

INSERT INTO mytable (ID, NAME) VALUES (1,'Dan'),(2,'Stack'),(3,'Whatever');

当所有查询准备就绪后,您可以按顺序运行它们。

关于c# - 如何执行从文件中读取数据,然后验证数据并将数据异步插入数据库操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com