• 1397/07/26

با سلام خدمت مهندس عزیز :

میشه مایگریشن (migration) های اضافی یا استفاده شده را پاک کرد ؟ من این کارو کردم ولی انگار یجایی هنوز وجود داشتن...

یه ارور دارم که نتونستم جواب مناسب پیدا کنم من اشتباها یه foreign key تیبل CourseGroups نال ناپذیر تعریف کردم و migration زدم 

درستش کردم و هرچقدر migration زدم توی دیتا بیس من ذخیره نمیشه موقع وارد کردن update-database این ارور میده 

 

Introducing FOREIGN KEY constraint 'FK_CourseGroups_CourseGroups_ParentID' on table 'CourseGroups' 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.

 

و همچنان موقع ساخت تیبل نال ناپذیر تعریف میکنه با اینکه توی خود کلاس CourseGroups درستش کردم ...

 

        [Display(Name = "گروه اصلی")]
        public int? ParentID { get; set; }
        [ForeignKey("ParentID")]
        public List<CourseGroup> CourseGroups { get; set; }
 
ارور :
 
Failed executing DbCommand (6ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE TABLE [CourseGroups] (
    [GroupID] int NOT NULL IDENTITY,
    [GroupTitle] nvarchar(250) NOT NULL,
    [IsDeleted] bit NOT NULL,
    [ParentID] int NOT NULL,
    CONSTRAINT [PK_CourseGroups] PRIMARY KEY ([GroupID]),
    CONSTRAINT [FK_CourseGroups_CourseGroups_ParentID] FOREIGN KEY ([ParentID]) REFERENCES [CourseGroups] ([GroupID]) ON DELETE CASCADE
);
  • 1397/07/26
  • ساعت 20:12

جواب : 

توی migration اولی onDelete cascade به restrict تغییر دادم مشکل حل شد ... آیا کارم از نظری مشکلی نداره ؟

 


  • 1397/07/26
  • ساعت 21:37

سلام..

من با کدم مشکل داشتم ولی نه دقیقا این مشکل شما رو... ولی کاری که کردم ...دیتا بیس رو و فولدر مایگریشن رو پاک کردم و بعد از اصلاح خاصیت فیلدم، دوباره مایگریشن زدم!


  • 1397/07/26
  • ساعت 21:49

سلام

اینم راهیه ممنون از راهنماییتون 

ولی با دستکاری migration راه ساده تری جلومونه 

مشکل اینجاست با تغییر onDelete Cascade به onDelete Restrict موقع حذف یک سطر از جدول Child ها حذف نمیشن ولی توی Cascade خود کار Child ها حذف میشن ولی از اونجا که این تیبل Foreign key روی خودشه فکر نمیکنم مشکلی پیش بیاد ....

 

 

 


  • 1397/07/27
  • ساعت 10:19

سلام

دستور زیر را وارد کنید آخرین مایگریشن حذف میشه

Remove-Migration

 


logo-samandehi