у меня есть этот запрос:возвращения указанного типа для Linq запроса с анонимного типа
DbQuery<Logs> logs = context.GetQuery<Logs>();
var MessageLogs =
logs.Where(
s =>
s.DATE == date.Date
.GroupBy(s => new {s.DATE, s.ID})
.Select(
g => new {Date = g.Key.DATE, SID = g.Key.ID, Count = g.Count()})
.GroupBy(x => x.SID, x => new {x.Date, x.Count});
и у меня есть эти два classess:
public class Data
{
public Values[] Val { get; set; }
public string Key { get; set; }
}
и это:
public class Values
{
public string type1 { get; set; }
public string type2 { get; set; }
}
все Я хочу использовать этот запрос для возврата типа данных. ключ в классе Данные являются SID, а список значений должен быть числом и датой типа type1 и type2. Я знаю, что могу сделать это с анонимным типом, но я не знаю, как, я пробовал много способов, но все они были неправы.
EDIT:
у меня есть этот запрос,
logs.Where(
s =>
s.DATE == date.Date
.GroupBy(s => new {s.DATE, s.ID})
.Select(
g => new {Date = g.Key.DATE, SID = g.Key.ID, Count = g.Count()})
этот запрос возвращает что-то вроде этого:
key date count
----------------------------
1021 2012 1
1021 2013 5
1022 2001 10
1023 2002 14
то, что я хочу, это база по каждому идентификатору список значений в том, типе возвращаемого значения должны быть типом данных, которые относятся к этому примеру.
key=1021 and Values[] should be type1=2012, type2=1 and type1=2013, type2=5
Этот запрос LINQ не будет компилироваться ... мне не совсем ясно, чего вы пытаетесь достичь, на данный момент ... почему вы группируете по дате, когда вы уже фильтровали по дате? –
@JonSkeet Я попытался сделать это более ясным – someone
Вы все еще не исправили запрос, чтобы он скомпилировался ... у вас теперь есть тот же сломанный запрос дважды. Судя по всему, существующий запрос не имеет отношения к делу - все, что важно, это форма вывода. –