Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ CSV数据库-除此之外的快速方法_C#_Linq_Csv - Fatal编程技术网

C# LINQ CSV数据库-除此之外的快速方法

C# LINQ CSV数据库-除此之外的快速方法,c#,linq,csv,C#,Linq,Csv,我有一对CSV文件 CSV1: 选项编号、产品编号、产品名称 CSV2: 产品编号、产品详细信息、产品详细信息 记录的数量非常高,文件的数量(每周生成一对)也非常高 CSV2将有一些产品详细信息,手动输入产品详细信息 我怎样才能: 1.重新生成CSV1,使其仅包含CSV2中不存在详细信息的产品的产品编号(以及选项和名称) 尝试从代码项目LINQ到CSV,能够很好地读/写 但是,除此之外的部分需要很多时间 var query = from c in dc.Customers

我有一对CSV文件

CSV1: 选项编号、产品编号、产品名称

CSV2: 产品编号、产品详细信息、产品详细信息

记录的数量非常高,文件的数量(每周生成一对)也非常高

CSV2将有一些产品详细信息,手动输入产品详细信息

我怎样才能: 1.重新生成CSV1,使其仅包含CSV2中不存在详细信息的产品的产品编号(以及选项和名称)

尝试从代码项目LINQ到CSV,能够很好地读/写 但是,除此之外的部分需要很多时间

var query =    
    from c in dc.Customers    
    where !(from o in dc.Orders    
            select o.CustomerID)    
           .Contains(c.CustomerID)    
    select c;
这是等效的,但仍然太慢

如何修剪使用查询检索的所有字段。 如果要将类型设置为int-产品编号。 这应该会有帮助。请提供您的反馈。我可以提供代码。
但它主要基于codeproject中的LINQTOCSV。

您可以在a中从CSV2加载产品编号,然后您的where子句可以变成:

  where !hashSet.Contains(productID)

哪个性能应该更好(O(1))

从两个文件中选择产品到字典,其中关键是产品编号,然后比较,它会更快。

hm,csv1有产品信息,csv2也有产品信息,为什么示例查询是关于客户和订单的?