父对象的集合成员的Should对象也引用父对象

本文关键字:对象 引用 集合 成员 Should | 更新日期: 2023-09-27 18:19:22

我有一个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>();
        }
    }

因此,在整个代码中,如果不是GroupId,而是ContactCardGroup成员....,这将是有帮助的但这不是在引入一个令人讨厌的循环引用,特别是在处理/销毁方面。这类事情有规则/模式吗?

似乎自从我安装了ReSharper,我就不再对我所做的任何编码选择有任何信心;(

父对象的集合成员的Should对象也引用父对象

可以使用循环引用,它们非常有用。大多数orm都能很好地处理它们。

但是,如果您使用序列化库,那么它们可能有点棘手,并且通常不喜欢循环引用。

但是你是否应该使用它们在很大程度上取决于你正在解决的问题。

如果对象图与根引用隔离,那么两个(或更多)相互引用的对象(对象图)将无法保持自己的存活。但是,您可能会意外地通过持有对象图中一个事物的引用而最终持有大型事物图。