【发布时间】:2020-11-30 19:51:55
【问题描述】:
据我观察,Put 请求处理得非常好,但是在将更新的酒店对象从 HotelRepository 传递到 HotelManager 层后出现问题。
这就是错误:System.Text.Json.JsonException: 检测到可能的对象循环不受支持。这可能是由于循环或对象深度大于最大允许深度 32 造成的。
这是 HotelRepository 中的代码:
public async Task<int> UpdateHotel(Hotel hotel)
{
var sql = "UPDATE Hotels " +
"SET name = @name, city = @city " +
"WHERE Id = @id";
var updatedHotel = new Hotel()
{
Name = hotel.Name,
City = hotel.City,
Id = hotel.Id
};
using (var connection = new SqlConnection(CONNECTION_STRING))
{
return await connection.ExecuteAsync(sql, updatedHotel);
}
}
起初我以为是关于 sql 命令中的空格。我意识到我没有在行尾后添加任何空格,所以我修复了这个问题,但我想这不是问题,因为我仍然遇到同样的错误。
其他路线运行良好。
请求中的Hotel 对象包含id、name 和city。 你知道怎么回事吗?
【问题讨论】:
标签: asp.net asp.net-core asp.net-web-api dapper