Wie, um eine Liste der Objekte als IHttpActionResult?

Ich bin neu ASP.NET webapi und ich kann nicht einen Weg finden, um eine Liste der Objekte abgefragt, die von id.

Dies ist mein controller-Methode für die GET-Anforderung.
Ich möchte wieder all die Fragen, die angegeben questionnaireId per url übergeben.

Habe ich versucht, dieses:

//GET: api/Questions/5
[ResponseType(typeof(List<Question>))]
public Task<IHttpActionResult> GetQuestion(int questionnaireId)
{
    var questions = from q in db.Questions
    where q.QuestionnaireId == questionnaireId
    select new Question()
    {
            Id = q.Id,
            ImageLink = q.ImageLink,
            QuestionnaireId = q.QuestionnaireId,
            Text = q.Text
    };
    return questions;
}

Dies ist meine Frage-Klasse:

public class Question
    {
        public int Id { get; set; }

        [ForeignKey("Questionnaire")]
        public int QuestionnaireId { get; set; }

        public string Text { get; set; }
        public string ImageLink { get; set; }

        public virtual Questionnaire Questionnaire { get; set; }
    }

Aber auf return questions es zeigt die compiler-Fehlermeldung:

Kann nicht implizit konvertiert Art System.Linq.IQueryable<finah_backend.Models.Question> zu System.Web.Http.IHttpActionResult. Eine explizite Konvertierung vorhanden ist (fehlt ein cast?)

Möchte ich, um eine Liste von Fragen, die zurückgegeben JSON abgefragt auf questionnaireId, die übergeben wird, die über eine url-also api/Fragen/2 ==> gibt mir wieder all die Fragen, die mit questionnaireId = 2.

  • Was ist errror oder bist du eine Ausnahme? Ich denke, deine Methode GetQuestion würde nicht kompilieren, wegen der nicht übereinstimmenden zurück geben mit dem, was Sie wieder tatsächlich.
  • Kann nicht implizit konvertiert Typ 'System.Linq -.IQueryable<finah_backend.Modelle.Frage>' zu 'System.Web.Http.IHttpActionResult'. Eine explizite Konvertierung vorhanden ist (fehlt ein cast?)
InformationsquelleAutor Rick | 2015-03-20
Schreibe einen Kommentar