我得到了此层次结构表设置。Company引用了Postal,而Postal引用了Area。我正在使用EF Core。
class Company { CompanyId, .., PostalId, Postal }
class Postal { PostalId, .., Company }
class Area { AreaId, .., Postal }
我的问题是,公司实体像循环引用一样被添加到每个邮政实体中。
Company
-Postal
-Company
| -Postal
| -Company
| | -Postal
| | -Company
| | -Area
| -Area
-Area
也许这是故意的,但它会产生大量数据开销。 有没有一种方法可以防止子实体引用父实体。
查询实体时,我使用如下代码:
db.Companies.Include(p => p.Postal).ThenInclude(a => a.Area)
答案 0 :(得分:0)
我得出的结论是,不可能避免这些圆形实体的附着。这就是实体框架目前的工作方式。 由于此问题产生的输出数据开销,我选择了.Select(new)解决方案。在这里,我可以决定要冒出哪些属性,并避免那些不行。该解决方案还具有性能改进。我做了很多工作,但效果很好。