Я пытаюсь сгруппировать 3 поля «GameName», «MinBet» и «Time», если данные сохранены на SQLDb, мне просто нужно использовать WorkScope.GetAll<Game>().GroupBy(s=> new {s.GameName,s.MinBet,s.Time})
, затем выбрать данные для возврата. Но эти данные сохранены в понедельник go, поэтому я не могу сгруппировать их так. У меня есть попытка
var query1 = Mongo.GetAll<History>("history").AsQueryable().GroupBy(s=>new GroupBy( s.GameName, s.MinBet, s.Time )).Select(s => new
{
GameId = s.First().GameId,
GameName = s.Key.GameName,
MinBet = s.Key.MinBet,
Time = s.Key.Time,
TotalWin = s.Where(s => s.WinAmount == 0).Sum(s => s.BetAmount),
TotalLose = s.Sum(s => s.WinAmount),
}).ToList();
И
var query=Mongo.GetAll<History>("history")
.Aggregate()
.Group(
s=> new GroupBy
(
s.GameName,
s.MinBet,
s.Time
),
z=> new
{
Key=z.Key,
TotalWin = z.Where(s => s.WinAmount == 0).Sum(s => s.BetAmount),
TotalLose = z.Sum(s => s.WinAmount),
GameId=z.First().Fee
}
)
.Project(s=> new
{
GameId=s.GameId,
GameName=s.Key.GameName,
MinBet=s.Key.MinBet,
Time=s.Key.Time,
TotalWin=s.TotalWin,
TotalLose=s.TotalLose,
}).ToList()
;
Это всегда возвращает MongoDB.Bson.BsonSerializationException: No matching creator found.
Как я могу сгруппировать его, чтобы иметь правильные данные, такие как SqlDb.