我试图从 Postman 那里得到一个关于m到n关系的集合的http响应。表的类如下所示。
胶片台
public partial class Film
{
public Film()
{
FilmActor = new HashSet<FilmActor>();
FilmCategory = new HashSet<FilmCategory>();
Inventory = new HashSet<Inventory>();
}
//Some Properties
public ICollection<Inventory> Inventory { get; set; }
}
链接表库存
public partial class Inventory
{
public Inventory()
{
Rental = new HashSet<Rental>();
}
public int InventoryId { get; set; }
public short FilmId { get; set; }
public byte StoreId { get; set; }
public DateTimeOffset LastUpdate { get; set; }
public Film Film { get; set; }
public Store Store { get; set; }
public ICollection<Rental> Rental { get; set; }
}
存储表
public partial class Store
{
public Store()
{
Customer = new HashSet<Customer>();
Inventory = new HashSet<Inventory>();
Staff = new HashSet<Staff>();
}
//More Properties
public ICollection<Inventory> Inventory { get; set; }
}
我试着把所有的收藏品都陈列在 Postman 的身上。vs在“locals”窗口中返回的对象包含759个对象。在mysql数据库上,我有2270个。
这是对我的存储库的查询
return _context.Film
.Include(x => x.Inventory)
.Where(x => x.Inventory.Any(c => c.StoreId == storeId))
.ToList();
我在 Postman 身上发现了这个错误。
我还尝试对查询应用分页,因为我认为服务器可能不支持查询的对象数。所以我一次只能得到10个物体。vs在“locals”窗口中显示10个对象。
我的问题是:
return _context.Film
.Include(x => x.Inventory)
.Where(x => x.Inventory.Any(c => c.StoreId == storeId))
.Skip(filmsResourceParameters.PageSize
* (filmsResourceParameters.PageNumber -1))
.Take(filmsResourceParameters.PageSize)
.ToList();
我得到了同样的 Postman 错误:
以下是我的 Postman 设置:
1条答案
按热度按时间s3fp2yjn1#
结果是dto不能有一个包含链接表的集合,因为这将导致一个不能用json表示的循环依赖。我可以´我再也解释不清楚了。如果有人能更详细地解释,请随意解释,因为我´我想了解世界跆拳道联合会正在进行中。