C# 从CSV解析后将类型应用于DataColumns

C# 从CSV解析后将类型应用于DataColumns,c#,asp.net,sql,.net,datatable,C#,Asp.net,Sql,.net,Datatable,我正在读取一个CSV文件,该文件以SQL数据库中的一个表为模型,并放入一个datatable中。但是现在所有的值都是作为字符串添加的。关于如何将所有列转换为适当的类型,如将所有真/假值转换为布尔值,将数值转换为int/double,有什么建议吗?列不应该改变,所以我想我可以说如果标题是'PropertyID',列的类型是Int等,但这似乎有点太硬编码。我只是想知道是否有更好的方法。因为它是CSV,所以本质上是字符串。您如何看待这一点,并知道每个值的正确类型是什么?你假设一个模式…它在哪里?正如您

我正在读取一个CSV文件,该文件以SQL数据库中的一个表为模型,并放入一个datatable中。但是现在所有的值都是作为字符串添加的。关于如何将所有列转换为适当的类型,如将所有真/假值转换为布尔值,将数值转换为int/double,有什么建议吗?列不应该改变,所以我想我可以说如果标题是'PropertyID',列的类型是Int等,但这似乎有点太硬编码。我只是想知道是否有更好的方法。

因为它是CSV,所以本质上是字符串。您如何看待这一点,并知道每个值的正确类型是什么?你假设一个模式…它在哪里?正如您所建议的,除了预定义的列知识之外,我不确定还有什么。黑暗中的总镜头:如果您可以使用XML而不是CSV,您可以:。不管怎样,这似乎是CSV所希望的。为每个字段设置一个映射,然后在插入转换之前根据其列对每个值运行一个预处理方法。将文件加载到临时表中。更新是必要的。从staging表写入real表。实际上,您已经对表数据类型进行了硬编码,所以为什么不硬编码一个将转换/转换为正确类型的方法呢