gpt4 book ai didi

c# - 检测到 Entity Framework 自引用循环

转载 作者:IT王子 更新时间:2023-10-29 03:36:07 24 4
gpt4 key购买 nike

<分区>

我有一个奇怪的错误。我正在试验 .NET 4.5 Web API、 Entity Framework 和 MS SQL Server。我已经创建了数据库并设置了正确的主键和外键以及关系。

我创建了一个 .edmx 模型并导入了两个表:Employee 和 Department。一个部门可以有很多员工,并且存在这种关系。我使用脚手架选项创建了一个名为 EmployeeController 的新 Controller ,以使用 Entity Framework 创建具有读/写操作的 API Controller 。在向导中,选择 Employee 作为模型和数据上下文的正确实体。

创建的方法如下所示:

public IEnumerable<Employee> GetEmployees()
{
var employees = db.Employees.Include(e => e.Department);
return employees.AsEnumerable();
}

当我通过/api/Employee 调用我的 API 时,出现此错误:

The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; ...System.InvalidOperationException","StackTrace":null,"InnerException":{"Message":"An error has occurred.","ExceptionMessage":"Self referencing loop detected with type 'System.Data.Entity.DynamicProxies.Employee_5D80AD978BC68A1D8BD675852F94E8B550F4CB150ADB8649E8998B7F95422552'. Path '[0].Department.Employees'.","ExceptionType":"Newtonsoft.Json.JsonSerializationException","StackTrace":" ...

为什么它会自引用 [0].Department.Employees?这没有多大意义。如果我的数据库中有循环引用,我希望会发生这种情况,但这是一个非常简单的示例。可能出了什么问题?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com