c# - 在数据表中拆分并创建新行的场景?

标签 c# linq

我有一个包含 3 列的数据表。我想对第 2 列行值一一执行拆分操作,并从拆分的输出创建新行。这个场景有 Linq 方法语法吗?

{
    Col1    UserID          RNo
    ABC     FName1.SName1   10
    PQR     FName2.SName2   20
    XYZ     FName3.SName3   30

}

期望的输出

{
    Col1    UserID      RNo
    ABC     FName1      10
    ABC     SName1      10
    PQR     FName2      20
    PQR     SName2      20
    XYZ     FName3      30
    XYZ     SName3      30
}

最佳答案

您可以从这里得到答案:"LINQ to separate column value of a row to different rows in .net "

在您的情况下,考虑具有三个属性的用户类,您的 LINQ 将是:

LINQ 查询

List<User> result = uList.SelectMany(item => item.UserId
                                       .Split('.')
                                       .Select(singleUserId => new User
                                       {
                                           Name = item.Name,
                                           UserId = singleUserId,
                                           RollNo = item.RollNo
                                       })).ToList();

输出

Name    UserId  RollNo
ABC     FName1  10
ABC     SName1  10
PQR     FName2  20
PQR     SName2  20
XYZ     FName3  30
XYZ     SName3  30

我希望这会有所帮助..

关于c# - 在数据表中拆分并创建新行的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58486531/

相关文章:

c# - 在 C# 中将整个 xml 文件复制到其他 xml

asp.net-mvc - OData WCF 数据服务 - 相关数据(通过外键)在调用服务时不显示

c# - 无法使用 Linq 访问特定的 XML 文件 block

c# - linux wine Word 互操作 application.Documents.Open 在 word 中打开文档但不将文档返回给客户端

c# - 不应使用哪些键盘快捷键?

c# - 在 C# 中创建新的 Calc 文档 (OpenOffice)

c# - 使用 Npgsql 插入重复记录

C# 解析 XML 文件

c# - 选择模型属性包含所有键值对列表的位置

c# - 从 LINQ 的 Any 方法返回 Task<bool>?