我是ASP.NET WebAPI的新手,我找不到一种通过id查询对象列表的方法。
这是我的GET请求的控制器方法。我想返回所有具有通过URL传递的指定questionnaireId的问题。
我尝试了这个:
// 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;
}
这是我的Question类:
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; }
}
但是在返回问题
时,编译器显示错误:
无法隐式转换类型
System.Linq.IQueryable<finah_backend.Models.Question>
为System.Web.Http.IHttpActionResult
。存在显式转换(您是否缺少强制转换?)
我想要通过查询问卷ID返回一个问题列表,并以JSON格式返回。问卷ID通过URL传递,例如api/questions/2==>将返回所有问卷ID为2的问题。
GetQuestion
无法编译,因为返回类型与实际返回值不匹配。 - Jenish Rabadiya