错误加载资源失败:

时间:2015-07-29 07:20:53

标签: c# linq entity-framework

我可能会为以下问题得到一些帮助..

我已将“一对一”映射定义如下

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); 
        }

1 个答案:

答案 0 :(得分:0)

显然这与WebApi中的跨源请求有关。您需要通过从CORS安装软件包来配置NuGet

可以找到非常详细的解释:

http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api