C# LINQ - 将行拆分为两行

标签 c# mysql linq

很抱歉这个可能很愚蠢的问题,但我有这个 Ienumerable<>如此设置

Dataset

我需要将名称和百分比分成单独的行,并为这些行复制 ProductId 和 RowIndex(我知道这效率不高,但这是需要完成的)。并且可能是一个新字段,用于指定组合行具有哪些数据。

例如,

ProductId, Name , Percent, RowIndex 2301283 , PLACEHOLDER, 12.20 , 1

应该变成这样:

ProductId, DataType, Value , RowIndex 2301283 , Name , PLACEHOLDER, 1 2301283 , Percent , 12.20 , 1 etc etc

此外,如果有意义的话,它们不能嵌套在其他列表或枚举或任何东西中。

这在 LINQ 中可能吗?

最佳答案

据我所知,您希望将每个 GI 对象转换为 2 个新对象,并将所有这些对展平为一个可枚举对象。希望我理解正确。

我认为SelectMany可以胜任这项工作。

yourEnumerable.SelectMany(x => new[] {
    new { ProductId = x.ProductId, DataType = "Name", Value = x.Name, RowIndex = x.RowIndex },
    new { ProductId = x.ProductId, DataType = "Percent", Value = x.Percent, RowIndex = x.RowIndex }
})

关于C# LINQ - 将行拆分为两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50266496/

相关文章:

c# - 我可以在读取过程中中断数据读取器吗?

C# GetForegroundWindow() 为多个窗口返回相同的结果,EnumWindows 根本不返回那个 #

C# dynamic + System.Reflection.Emit = 不混用?

php - 如何在MySQL中存储转义字符并在php中显示它们?

SQL语句中的PHP变量

linq - 无法解析属性(复杂属性)

c# - ASP.NET Web API 2 - StreamContent 非常慢

php - 在关系型 mysql 数据库中的多个表中执行多个插入查询的正确方法是什么?

linq - 如何连接到数据库linq

wpf - Linq查询非常慢