مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

مهدی الهی

عضویت از 1396/07/29

ارور در مایگریشن جداول

  • یکشنبه 16 تیر 1398
  • 09:51
تشکر میکنم

سلام 
در جدول ها زیر وقتی add-migration میزنم پیام زیر رو نشون میده علتش چیه ؟

Introducing FOREIGN KEY constraint 'FK_PosterGroup_tb_Feature_tb_Feature_ID' on table 'PosterGroup_tb' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint or index. See previous errors.

public class PosterGroup
    {
        [Key]
        public int PosterGroup_Id { get; set; }
        
        public string PosterGroup_Title { get; set; }

        public IEnumerable<Poster> Posters { get; set; }

        public virtual IEnumerable<Feature> Feature { get; set; }

    }
///----------------------------------------------------

public Poster()
        {

        }
        [Key]
        public int Poster_Id { get; set; }
     
        public string Title { get; set; }
    
 
        [ForeignKey("PosterGroup_Id")]

        public PosterGroup PosterGroup { get; set; }
        public int PosterGroup_Id { get; set; }


        public virtual IEnumerable<PosterFeatures> PosterFeatures { get; set; }







[Key]
        public int PosterFeature_Id { get; set; }

        [ForeignKey("Poster_Id")]

        public Poster Poster { get; set; }
        public int Poster_Id { get; set; }

        [ForeignKey("FeatureReplay_ID")]

        public FeatureReply FeatureReply { get; set; }
        public int FeatureReplay_ID { get; set; }






  [Key]
        public int Feature_ID { get; set; }

     
        public Int16? ProductGroupId { get; set; }

        public string FeatureTitle { get; set; }

        public bool IsActive { get; set; }

   
        public virtual List<FeatureReply> FeatureReplies { get; set; }

        public virtual PosterGroup PosterGroup{ get; set; }
        public int? PosterGroup_Id { get; set; }




  [Key]
        public int FeatureReply_ID { get; set; }
      
        public int FeatureId { get; set; }
    
        public string FeatureReplyText { get; set; }
      

        public virtual Feature Feature { get; set; }

این کدم هم گذاشتم ولی جواب نداد 

   builder.Entity<Feature>().HasOne(p => p.PosterGroup).WithMany(b => b.Feature)
  .HasForeignKey(p => p.PosterGroup_Id)
  .OnDelete(DeleteBehavior.Cascade);

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • شنبه 5 مرداد 1398
  • 11:28

سلام خدمت شما دوست عزیز

به جای دستور onDelete(DeleteBehabior.Cascade) از دستور زیر استفاده کنین :

 .WillCascadeOnDelete(false);

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)