Почему добавление более 1 элемента в эту коллекцию в EFCore вызывает переполнение стека? - PullRequest
0 голосов
/ 28 октября 2019

Этот топ работает. Нижний нижний пример дает переполнение стека. Что может быть не так? Что это за коллекция объектов, имеющая более одного элемента?

   List<RfReport> rfReports = new List<RfReport>
        {
            new RfReport()
            {
                FormId = "Report 1",
                FormName = "FormName1",
                RfReportTypeId = 1,
                CreatedBy = "TEST_USER"
                ,
                RfAttachments = new List<RfAttachment>
                {
                    new RfAttachment
                    {
                        FilePath = "RfAttachment1 FOR Report1",
                    }
                    //, new RfAttachment
                    //{
                    //    FilePath = "RfAttachment2 FOR Report1",
                    //}
                }
            }
        };


        pwdrsContext.RfReports.AddRange(rfReports);
        await pwdrsContext.SaveChangesAsync();

и нижний ..

    List<RfReport> rfReports = new List<RfReport>
        {
            new RfReport()
            {
                FormId = "Report 1",
                FormName = "FormName1",
                RfReportTypeId = 1,
                CreatedBy = "TEST_USER"
                ,
                RfAttachments = new List<RfAttachment>
                {
                    new RfAttachment
                    {
                        FilePath = "RfAttachment1 FOR Report1",
                    }
                    , new RfAttachment
                    {
                        FilePath = "RfAttachment2 FOR Report1",
                    }
                }
            }
        };
  pwdrsContext.RfReports.AddRange(rfReports);
        await pwdrsContext.SaveChangesAsync();

переполнение стека здесь

 public abstract class EntityBase<TId> : IEntityBase<TId>
{
    public virtual TId Id { get; protected set; }

    int? _requestedHashCode;

//this method


   public bool IsTransient()
    {
        return Id.Equals(default(TId));
    }

Объектыкак это.

 public class RfReport : Entity
    {
        public RfReport()
        {
        }

 public ICollection<RfAttachment> RfAttachments { get; set; } = new List<RfAttachment>();

and



    public class RfAttachment : Entity
        {
            public string FilePath { get; set; }

         public int ReportId { get; set; }
            public RfReport Report { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...