C#LinqDB表到列表列表

本文关键字:列表 C#LinqDB | 更新日期: 2023-09-27 18:05:34

我有一个DB表,它有三个字段,Category、Name和value(string、string、int(。类别和名称是主键。我现在的意图是编写一个方法,将该表的内容排序为

List<List<string>>

其中每个List是具有相同类别的条目的列表(并且第一个字符串是类别(。我该怎么做,还是我的做法不对?

EDIT:我选择这种数据类型的原因是,我将用数据填充HTML表,并且只想用嵌套的foreach循环进行迭代。

foreach(List<string ls in List<List<string>>)
   use a foreach(string) to generate a table for ls

C#LinqDB表到列表列表

我觉得你做这件事的方式不对。我会创建一个简单的类

class Item
{
    public string Category {get; set;}
    public string Name{get; set;}
    public string Value {get; set;}
}

而代之以管理CCD_ 1。

我认为这最好用来表示

class foo{
    public string val1 {get;set;}
    public string val2 {get;set;}
    public int val3 {get;set;}
}

然后

List<foo>

但这只是我对你提供的数据的解释。

List<List<string>> toListOfListOfString(Table table) 
{ 
  return table.Select(x=>new List<string>{x.Category,x.Name,x.Value.ToString()})
              .ToList();
}
  var table = new [] {new {Category="a", Name="name1"},new {Category="a", Name="name2"},new {Category="B", Name="name3"}};
  List<List<string>> x = 
     table
        .GroupBy(
           row => row.Category, 
           (k, rows) => new List<string> (new [] {k}.Union(rows.Select(r => r.Name))))
        .ToList ();

当然,在你的情况下,你会用你的桌子而不是我的