У меня есть следующие классы:
public class LogViews
{
public string DateYYMMDD { get; set; }
public string Mode { get; set; }
public int LearnViews { get; set; }
public int PracticeViews { get; set; }
public int QuizViews { get; set; }
}
public class Views2Model
{
public string DateYYMMDD { get; set; }
public int Devices { get; set; }
public int? LearnViews { get; set; }
public int? PracticeViews { get; set; }
public int? QuizViews { get; set; }
}
Что я хотел бы сделать, это получить счет при группировке по дате:
var ViewCount = CreateExcelFile.ListToDataTable(Views
.GroupBy(x => x.DateYYMMDD)
.OrderBy(g => g.Key)
.Select(g => new Views2Model
{
DateYYMMDD = $"20{g.Key.Substring(0, 2)}/{g.Key.Substring(2, 2)}/{g.Key.Substring(4, 2)}",
Devices = g.Count(),
LearnViews = g.LearnViews.Count(),
PracticeViews = g.PracticeViews.Count(),
QuizViews = g.QuizViews.Count(),
})
.ToList());
Но я получаю ошибки для g.LearnViews, g.PracticeViews и g.QuizViews
GetViews.cs(36,36): Error CS1061: 'IGrouping<string, LogViews>' does not contain a definition for 'LearnViews' and no accessible extension method 'LearnViews' accepting a first argument of type 'IGrouping<string, LogViews>' could be found (are you missing a using directive or an assembly reference?) (CS1061) (Cosmos)
Может кто-нибудь дать совет, что я делаю неправильно?