你好关系的不需要的加载,在EF核心
我有问题,EF核心的功能 - 它可以自动绑定相关实体一起当实体某处独立地连接到当前dbCotnext。
假设以下两个实体:
public class Seller {
public Guid Id {get;set;}
public List<Product> Products {get;set;}
}
public class Product {
public Guid Id {get;set;}
public Guid SellerId {get;set;}
public Seller Seller {get;set;}
}
和Controller(只是想象)一些代码:
var seller = DbContext.Sellers.FirstOrDefault(e => e.Id == someId);
var products = DbContext.Products.All(t => t.SellerId == someId);
return StatusCode(200, products);
返回的JSON会像
[
{
"id": "1234",
"sellerId": "5678",
"seller": {
"id" : "5678",
"products": ["(muted reference loop exception from json converter here.)"]
}
}
]
但我不希望卖家被包含在每个产品中。如果我这样做,我会打电话Products.Include(...)为那个或别的东西。 我不想通过实体进行爬网并且无法导航属性。 我不想用[JsonIgnore]将其隐藏,因为有时必须包含关系。 当发生这种情况时,我也不想手动分离每个实体。
问题是,有没有什么办法可以禁用或解决此问题?
感谢
尝试'公开名单产品{获得;设置;}'变化可空 –