Мне ужасно трудно найти решение, которое, я уверен, является простой проблемой.
Я запустил приложение с данными в списках объектов. Это уместные объекты, которые раньше выглядели так (очень упрощенно):
class A {
int[] Nums;
}
и
List<A> myListOfA;
Я хотел посчитать вхождения значений в массиве-члене по всему списку.
Я нашел это решение как-то:
var results
from a in myListOfA
from n in a.Nums
group n by n into g
orderby g.Key
select new{ number = g.Key, Occurences = g.Count}
int NumberOfValues = results.Count();
Это сработало, и я смог сгенерировать нужную гистограмму из запроса.
Теперь я перешел на использование базы данных SQL. Таблица, которую я сейчас использую, выглядит следующим образом:
MyTable {
int Value1;
int Value2;
int Value3;
int Value4;
int Value5;
int Value6;
}
У меня есть DataContext, который сопоставляется с БД.
Я не могу понять, как перевести предыдущий оператор LINQ для работы с этим. Я пробовал это:
MyDataContext myContext;
var results =
from d in myContext.MyTable
from n in new{ d.Value1, d.Value2, d.Value3, d.Value4, d.Value5, d.Value6 }
group n by n into g
orderby g.Key
select new { number = g.Key, Occurences = g.Count() };
Я пробовал некоторые варианты созданного массива, например добавление .AsQueryable () в конце - то, что я видел где-то еще. Я пытался использовать группу для создания массива значений, но ничего не работает. Я относительный новичок, когда дело доходит до языков баз данных. Я просто не могу найти никакой подсказки в Интернете. Может быть, я не задаю правильный вопрос. Любая помощь приветствуется.