为了账号安全,请及时绑定邮箱和手机立即绑定

检测到实体框架自引用循环

检测到实体框架自引用循环

C#
湖上湖 2019-11-11 15:58:16
我有一个奇怪的错误。我正在尝试使用.NET 4.5 Web API,实体框架和MS SQL Server。我已经创建了数据库并设置了正确的主键和外键以及关系。我创建了一个.edmx模型并导入了两个表:Employee和Department。一个部门可以有很多员工,并且这种关系存在。我使用脚手架选项创建了一个名为EmployeeController的新控制器,以使用Entity Framework创建具有读/写操作的API控制器。在向导中,选择Employee作为模型和数据上下文的正确实体。创建的方法如下所示:public IEnumerable<Employee> GetEmployees(){    var employees = db.Employees.Include(e => e.Department);    return employees.AsEnumerable();}通过/ api / Employee调用API时,出现以下错误:'ObjectContent`1'类型未能序列化内容类型'application / json的响应主体;... System.InvalidOperationException“,” StackTrace“:null,” InnerException“:{” Message“:”发生错误。“,” ExceptionMessage“:”检测到类型为'System.Data.Entity.DynamicProxies的自引用循环.Employee_5D80AD978BC68A1D8BD675852F94E8B550F4CB150ADB8649E8998B7F95422552'。路径'[0] .Department.Employees'。“,” ExceptionType“:” Newtonsoft.Json.JsonSerializationException“,” StackTrace“:” ...为什么自引用[0] .Department.Employees?这没有任何意义。如果在数据库中有循环引用,我希望会发生这种情况,但这是一个非常简单的示例。可能出什么问题了?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 565 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信