[英]ASP.NET Web API failed to serialize the response content
我正在使用Entity Framework和WebApi开发有关学生和课程的UWP应用程序。 我的学生和课程之间有很多关系。 我尝试路由一个将学生及其课程与数据库表结合起来的操作。 我想获取有关学生的信息以及他们所注册课程的名称。
这是我的错误信息:
“ ObjectContent`1”类型未能序列化内容类型“ application / xml”的响应主体; charset = utf-8'。
这是我的自定义控制器文件中的我的自定义路线。
学生课程控制器
public class StudentsCoursesController : ApiController
{
private DataContext db = new DataContext();
//GET: api/Students/Courses
[HttpGet]
[Route("api/Students/Courses")]
[ResponseType(typeof(Students[]))]
public IHttpActionResult GetstudentsCourse()
{
var Student = from st in db.Students.Include("Courses")
select new { st.Id, st.FirstName, st.LastName, st.Courses };
return Ok(Student);
}
}
这是DataContext构造函数:
DataContext:
public DataContext() : base("Database")
{
Configuration.ProxyCreationEnabled = false;
Configuration.LazyLoadingEnabled = false;
Database.SetInitializer(new LibraryDBInitializer());
}
这是我在Web Api中收到的错误消息:
我的代码没有任何错误,但也没有任何结果。 任何想法可能有什么问题吗? 我感觉到错误是在我的API代码(控制器)中。
您应该将LINQ查询转换为数组-
学生[]
我想获取有关学生的信息以及他们所注册课程的名称。
如果仅需要课程名称,则仅选择课程名称
var Students = db.Students.Include("Courses").Select(st =>
new {
Id = st.Id,
FirstName = st.FirstName,
LastName = st.LastName,
Courses = st.Courses.Select(course => course.Name).ToArray()
}).ToArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.