Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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以获得平坦化结果_C#_Linq_Join_Datatable - Fatal编程技术网

C#连接两个数据表Linq以获得平坦化结果

C#连接两个数据表Linq以获得平坦化结果,c#,linq,join,datatable,C#,Linq,Join,Datatable,有两个以这种方式构造的数据表: 第一个数据表有两个列:Customer、Email\u Key 第二个数据表有两个列:IdCustomer(等于Email_Key)、Email Dt1中的Foreach行可以对应Dt2中的许多行(1到N)加入CustomerId上的EmailKey,所以我想使用SelectMany函数将结果平展到1条记录中。我怎样才能做到这一点呢?我认为SelectMany不是您想要的。 根据您正在尝试的操作,您可以尝试联合或独立。 您可能需要稍微重新表述您的问题,包括您

有两个以这种方式构造的数据表:

  • 第一个数据表有两个列:Customer、Email\u Key
  • 第二个数据表有两个列:IdCustomer(等于Email_Key)、Email

Dt1中的Foreach行可以对应Dt2中的许多行(1到N)加入CustomerId上的EmailKey,所以我想使用SelectMany函数将结果平展到1条记录中。我怎样才能做到这一点呢?

我认为SelectMany不是您想要的。

根据您正在尝试的操作,您可以尝试联合或独立。
您可能需要稍微重新表述您的问题,包括您是否尝试在select或in代码中“展平”结果(在填充数据表之后)。

是否
D1.Email_Key
等于
D2.IdCustomer
?是@Fabio我省略了,现在我更新了我不知道如何做。当然,我不想让其他人做这项工作,我不明白你为什么这么想。平淡的结果并不能真正为你买一杯咖啡。连接两个表之后,您就有了一个表(id,email[])。因此,您需要在查询中进行两次选择:table.Select(x=>x.email.Select(y=>…))可能您忘记了这是一个datatable,不是一个类型化的对象,没有关系或嵌套对象。foreach客户可以对应N封电子邮件。如何在展平模式下对结果进行分组?