上传CSV文件,然后映射到数据库中的表

时间:2017-04-04 09:31:26

标签: c# asp.net asp.net-mvc

我们如何通过Web上传CSV文件(ASP.NET MVC C#)并将CSV表中的列映射到数据库中的表

示例:

CSV File:
Username,Address,Roles,Date

如何将“用户名”列中的所有值添加到用户表,名称列?

“地址”列中的值AddrDet表,地址列?

“角色”列中的值到RolesDet表,角色列?

并选择要添加到数据库的CSV列? (因此,不会使用CSV中的所有列)

使用ASP.NET MVC C#

因为我所知道的是CSV上传后,它将专门为CSV创建DataTable,并且将上传CSV中的所有列

谢谢

我正在使用MVC和EF DB FIRST

1 个答案:

答案 0 :(得分:0)

此问题被标记为Upload CSV file to SQL server

的副本

我觉得(并且没有想到)这个问题与主题相关或完全相同,所以我回答这个问题。我有自己的标记问题太宽泛,因为有太多要解释。

此外,我将添加一些问题的链接,但是他们不是为了填写答案,只是为了让OP知道要为自己寻找什么问题/主题。

简短说明:

通常当您想要将数据(CSV文件)导入数据库时​​,您已经获得了结构和数据。数据模式(和数据库)。存在TableATableB,其中存在一些列。如果您想基于CSV文件动态创建新的列/更新数据库模式,这是一项不安的工作(通常不会发生)。

C#/ ASP / .NET应用程序正在以一种方式为您提供输入(来自用户&点击,数据加载,任务调度程序通过一些时间检查点),并且APP可以完成工作。

典型的工作如下:"我们以这种格式获取数据,APP必须将它们转换为内部表示(类),然后将它们插入服务器" 。所以你必须编写一个ASP页面,允许用户粘贴/加载文件。例如:File Upload ASP.NET MVC 3.0

加载文件后,您需要将CSV格式(存储数据的格式)转换为内部表示。这意味着创建您自己的类,具有一些属性并将CSV转换(转换)为类。例如:Importing CSV data into C# classes

由于您在类(对象 - 类的实例)中拥有此数据,因此您可以使用它们并执行一些内部工作。这次我们正在寻找针对SQL数据库的CRUD(创建/读取/更新/删除)操作。首先您需要连接到SQL服务器,选择数据库然后运行查询。例如:https://www.codeproject.com/Articles/837599/Using-Csharp-to-connect-to-and-query-from-a-SQL-da

许多开发人员懒得自己编写查询,他们喜欢更多面向对象的访问这类问题。他们正在使用ORM - 对象关系映射,它允许用户在DatabaseApplication中拥有相同的类/对象模式。所有的一个例子是实体框架(EF)。例如:http://www.entityframeworktutorial.net/

正如您所看到的,这个主题并不那么简单,需要了解编程的几个部分。

相关问题