LINQ как пройтись по всем столбам таблицы?

125
02 марта 2021, 14:50

В общем,есть у меня БД. Все ее сущности записаны в этом классе

[Table(Name = "TestDate")]
public class TestDate
{

    [Column(Name = "START_PAGE")]
    public string start_page { get; set; }
    [Column(Name = "USERR")]
    public Int64 user { get; set; }
    [Column(Name = "TS")]
    public string ts { get; set; }
    [Column(Name = "DEPTH")]
    public string depth { get; set; }
    [Column(Name = "DURATION")]
    public string duration { get; set; }
    [Column(Name = "TRANSMIT")]
    public string transmit { get; set; }
    [Column(Name = "TYPE")]
    public string type { get; set; }
}

Далее создаю класс,чтобы посчитать сумму,среднее армефметическое и т.д. для каждого типа (type). Но у меня получилось только пройтись по колонке user и всё посчитать.

 static class AggregateFunc

{
  static string connectionString = @"Data Source=(local);Initial Catalog=Testovoe;Integrated Security=True";
    public static void Agg()
    {
        DataContext db = new DataContext(connectionString);
        Table<TestDate> tests = db.GetTable<TestDate>();
        var prod = (from p in tests select p.type).ToList().Distinct();
            foreach (string i in prod)
            {
                var query = db.GetTable<TestDate>().Where(u => u.type == i).Count();
                var value = (from p in tests where p.type == i select p.user).Sum();
                var max = (from p in tests where p.type == i select p.user).Max();
                var min = (from p in tests where p.type == i select p.user).Min();
                var avg = (from p in tests where p.type == i select p.user).Average();
                Console.WriteLine("Type " + i + " " + query + " " + "Sum " + value + " Max " + max + " Min " + min + " Avg " + avg);
        }

       db.ExecuteCommand("DELETE FROM TestDate");
       db.SubmitChanges();
       Console.ReadKey();

    }

}

Дело в том,что мне надо пройтись по ВСЕМ столбам этой таблицы и посчитать sum,avg,min,max для каждого столбца.

Как лучше поступить в этой ситуации?

Извиняюсь за корявый код,только учусь.

Схема бд.

READ ALSO
C# WPF TreeView свойство SelectedItem попросту отсутствует

C# WPF TreeView свойство SelectedItem попросту отсутствует

Всем привет, есть такая проблема: пытаюсь привязать выбранный TreeViewItem к свойству во ViewModel, читаю на всех форумах, о том, что это свойство доступно...

102
C#. Запаковать в tar без сжатия

C#. Запаковать в tar без сжатия

Собственно, требуется запаковать папку вtar без потери скорости на распаковку сжатием

90
Ошибка при передачи параметра даты в базу данных

Ошибка при передачи параметра даты в базу данных

Мне необходимо передать в качестве параметра сравнения датуБлагодаря этому на экран выводятся соответствующие данные

114
WPF - свои имена столбцов в DataGrid

WPF - свои имена столбцов в DataGrid

Не могу понять каким образом установить свои наименования заголовкам столбцов? Во View есть DataGrid, который должен выводить инфу:

87