c # group by не работает - PullRequest
2 голосов
/ 16 мая 2011

у меня есть проблемы с моим кодом на c # везде в примерах, они делают это как я, но почему-то я получаю некоторые ошибки

Компилятор говорит в g.Datum, что он не знает Datum

и на «запросе возврата» он говорит - cannot convert, есть явное преобразование

     var query = (from p in dataContext.Untersuchungen
                  orderby p.Datum
                  group p by p.Datum into g 
                  let number = (from n in dataContext.Untersuchungen
                                where n.Datum == g.Datum
                                select n).Count()
                  select new StatsistikObjekt() { Date1 = g.Datum, number1 = number });
       return query;

надеюсь, что вы можете мне помочь =)

Ответы [ 2 ]

7 голосов
/ 16 мая 2011

Тип переменной диапазона g - это группа , которая действительно не имеет значения Datum.

Вы можете легко исправить этот бит, учитывая вашу группировку(который использует Datum в качестве ключа) - и упростите ваш запрос, просто посчитав размер группы:

var query = (from p in dataContext.Untersuchungen
             orderby p.Datum
             group p by p.Datum into g
             select new StatsistikObjekt() { Date1 = g.Key,
                                             number1 = g.Count() });

Что касается возвращаемого значения - мы не можем вам в этом помочьодин, так как мы не знаем тип возврата, который вы пытаетесь вернуть.

1 голос
/ 16 мая 2011

Попробуйте

g.Key вместо g.Datum

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...