Ich habe zwei TabellenLinq-Abfrage für zwei Tabellen mit SUM und Gruppieren nach
Antworten
|ReplyID |ReplyText | QuestionID | CreatedOn |
|1 |xxxxxx |1 | 01/01/2016 |
|2 |yyyyyy |2 | 02/01/2016 |
|3 |zzzzzz |3 | 03/01/2015 |
und Stimmen
|ReplyID |VoteValue |UserId |
|1 |1 |1 |
|1 |1 |2 |
|2 |-1 |3 |
|3 |1 |4 |
Ich versuche, ID-Wert, um zwei Tabellen auf ReplyIds gegen was ich als Controller-Parameter bekomme.
Dies ist die Linq-Abfrage, die ich mit m:
Replies = from r in db.Replies
join v in db.Votes on r.ReplyID equals v.ReplyId
where r.QuestionId == id
orderby r.CreatedOn descending
group v by v.ReplyId into g
select g.Key
wo Antworten ist
public IGrouping<Reply, Vote> Replies { get; set; }
ich diesen Fehler m:
Cannot implicitly convert type 'System.Linq.IQueryable' to System.Linq.IGrouping'
Ich bin nicht in der Lage von hier gehen . Ich brauche Sum (VoteValues) in der Tabelle "Votes" und verbinde sie mit der Tabelle "Antworten", um alle Spaltenwerte zu erhalten. Jede Hilfe wäre willkommen.
Sie müssen die Abfrage tatsächlich ausführen. Ansonsten erhalten Sie keine eigentlichen Ergebnisse (IGrouping), sondern die Definition für die auszuführende Abfrage * (IQueryable). Versuchen Sie, ToList für Ihre Abfrage aufzurufen, bevor Sie sie in Ihrer Eigenschaft "Antworten" speichern. – TheRotag
Definitiv ist das Abfrageergebnis nicht 'IGrouping'. –
'g' ist ein Sammlungsobjekt, aber Sie wählen g.key, das ein Singleton ist. Ändern Sie g.key in nur g. – jdweng