以下は私のモデルです。これはhttps://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/build-a-single-page-application-spa-with-aspnet-web-api-and-angularjsからダウンロードしたソースコードです。指示に従っています。ラムダクエリを使用してメソッドグループを割り当てるときに非同期メソッドがトリガーするエラー
public class TriviaQuestion
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public string Title { get; set; }
public virtual List<TriviaOption> Options { get; set; }
}
public class TriviaOption
{
[Column(Order = 1), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Column(Order = 0), ForeignKey("TriviaQuestion")]
public int QuestionId { get; set; }
[JsonIgnore]
public virtual TriviaQuestion TriviaQuestion { get; set; }
[JsonIgnore]
public bool IsCorrect { get; set; }
}
、ここでは、私が言うエラー取得しています私のコントローラである「q.Countは、メソッドグループ匿名型のproperyを割り当てることができませんが。」:
private async Task<TriviaQuestion> NextQuestionAsync(string userId)
{
var lastQuestionId = await this.db.TriviaAnswers
.Where(a => a.UserId == userId)
.GroupBy(a => a.QuestionId)
.Select(g => new { QuestionId = g.Key, Count = g.Count() })
.OrderByDescending(q => new { **q.Count**, QuestionId = q.QuestionId })
.Select(q => q.QuestionId)
.FirstOrDefaultAsync();
var questionsCount = await this.db.TriviaQuestions.CountAsync();
var nextQuestionId = (lastQuestionId % questionsCount) + 1;
return await this.db.TriviaQuestions.FindAsync(CancellationToken.None, nextQuestionId);
}