[英]Should objects of a collection member of parent object also reference the parent object?
因此,我有一个ContactCardGroup类,其中包含ContactCardGroupMemberships的集合:
public class ContactCardGroup : AbstractEntity, IContactCardGroup
{
public ICollection<ContactCardGroupMembership> Members { get; protected set; }
还有一个ContactCardGroupMembership类:
public class ContactCardGroupMembership : AbstractAspect
{
public long MembershipId { get; set; }
public long GroupId { get; set; }
public ContactCard Contact { get; set; }
public bool IsPrimary { get; set; }
public ICollection<ContactGroupRole> Roles { get; protected set; }
public ContactCardGroupMembership()
{
this.Roles = new Collection<ContactGroupRole>();
}
}
因此,在整个代码中,如果我有一个ContactCardGroup成员而不是GroupId,将很有帮助....但是这不是在处理/销毁方面引入麻烦的循环引用吗?是否存在此类规则/模式?
自从我安装ReSharper以来,似乎对我所做的任何编码选择都不再有信心。
您可以有循环引用,它们可能非常有用。 大多数ORM都很好地处理它们。
但是,如果您使用序列化库,那么它们可能会有些棘手,并且通常不喜欢循环引用。
但是,是否应该使用它们在很大程度上取决于您要解决的问题。
如果两个(或多个)相互引用(一个对象图)与根引用隔离开,它们将无法保持活动状态。 但是,仅通过在对象图中保留对某事物的引用,您可能会无意间结束对大型事物图的保留。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.