Sono nuovo di ASP.NET webapi e non riesco a trovare un modo per restituire un elenco di oggetti interrogati da id.Come restituire un elenco di oggetti come IHttpActionResult?
Questo è il metodo del controller per la richiesta GET. Voglio restituire tutte le domande che hanno un questionario specifico passato tramite url.
ho provato questo:
// 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;
}
Questa è la mia classe Domanda:
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; }
}
Ma return questions
mostra l'errore del compilatore:
Cannot implicitly convert type
System.Linq.IQueryable<finah_backend.Models.Question>
toSystem.Web.Http.IHttpActionResult
. An explicit conversion exists (are you missing a cast?)
voglio ottenere una lista di domande restituite in JSON interrogate su questionnaireId, che viene passato tramite un url ie api/questions/2 ==> dà Me Back tutte le domande con questionnaireId = 2.
Che cosa è errror o hai ricevuto qualche eccezione?Penso che il tuo metodo 'GetQuestion' non verrebbe compilato a causa del tipo di restituzione non corrispondente con quello che hai effettivamente restituito. –
Impossibile convertire implicitamente il tipo 'System.Linq.IQueryable' in 'System.Web.Http.IHttpActionResult'. Esiste una conversione esplicita (ti manca un cast?) –
Rick