我可能会为以下问题得到一些帮助..
我已将“一对一”映射定义如下
public class Student
{
[Key]
public int Id { get; set; }
public string FullName { get; set; }
public StudentReport StudentReport { get; set; }
}
public class StudentReport
{
[Key, ForeignKey("Student")]
public int Id { get; set; }
public string RollNumber { get; set; }
public string StudentType { get; set; }
public Student Student { get; set; }
}
现有的IQueryable工作正常,但不包括StudentReport。表2,3和4在表1中具有ICollection导航属性。
private IQueryable<StudentReport> buildQueryIncludingCollections()
{
IQueryable<StudentReport> query = _context.Table1
.Include(x => x.Table2)
.Include(x => x.Table3)
.Include(x => x.Table3)
return query;
}
但是,如果我在iQueryable中包含StudentReport,它构造查询,但在我的控制台中,我总是得到错误
IQueryable<StudentReport> query = _context.Table1
.Include(x => x.Table2)
.Include(x => x.Table3)
.Include(x => x.Table3)
.Include(x => x.StudentReport)
return query;
}
错误加载资源失败:服务器响应状态为 500(内部服务器错误)XMLHttpRequest无法加载否 'access-Control-Allow-Origin'标题出现在请求的页面上 资源。因此,Originis不允许访问。响应有HTTP 状态代码500。
我不知道哪里出错...如果有人已经遇到此问题并知道解决方案,请分享您的意见。
修改
// GET
// api/StudentReports/GetDailyStudentReport/?studentId={studentId}&date={date}
[HttpGet]
[ActionName("DefaultAction")]
public StudentReport GetDailyStudentReport(Guid studentId, DateTim date)
{
StudentReport studentReport = _svc.StudentReport(studentId, date);
if (studentReport != null)
return studentReport;
else
throw new HttpResponseException(HttpStatusCode.NotFound);
}
答案 0 :(得分:0)
显然这与WebApi
中的跨源请求有关。您需要通过从CORS
安装软件包来配置NuGet
。
可以找到非常详细的解释:
http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api