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

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

کاربر سایت

reza

عضویت از 1392/02/15

پیام خطا در مورد relation model

  • سه شنبه 2 آذر 1395
  • 16:22
تشکر میکنم

سلام.من سه مدل دارم به شکل زیر

 public class Jobgroups
    {
        public int Id { get; set; }
        [Display(Name = "عنوان گروه را وارد کنید")]
        [Required(ErrorMessage = "لطفا {0} را وارد کنید")]
        public string Name { get; set; }


        public virtual List<Jobregister> Jobregister { get; set; }

        public virtual List<JobSubGroups> JobSubGroups { get; set; }

    }
=========================
 public class JobSubGroups
    {
        public int Id { get; set; }
        [Display(Name = "گروه را انتخاب نمایید")]
        [Required(ErrorMessage = "لطفا {0} را وارد کنید")]

        public int GroupId { get; set; }

        [Display(Name = "عنوان زیر گروه را وارد کنید")]
        [Required(ErrorMessage = "لطفا {0} را وارد کنید")]
        public string Name { get; set; }


        [ForeignKey("GroupId")]
        public virtual Jobgroups Jobgroups { get; set; }

        public virtual List<Jobregister> Jobregister { get; set; }

    }
==========================
 public class Jobregister
    {
        public int Id { get; set; }



        [Display(Name = "گروه شغلی")]
        [Required(ErrorMessage = "لطفا {0} را وارد کنید")]
        public int GroupId { get; set; }

        [Display(Name = "زیرگروه شغل")]
        [Required(ErrorMessage = "لطفا {0} را وارد کنید")]
        public int SubgroupId { get; set; }

        
        //Relation's.................................
        [ForeignKey("GroupId")]
        public virtual Jobgroups Jobgroups { get; set; }

        [ForeignKey("SubgroupId")]
        public virtual JobSubGroups JobSubGroups { get; set; }




    }

در هنگام ایجاد مدل با خطای زیر مواجه می ش که ظاهرا به خاطر تعریف ریلیشن ها هست.

Introducing FOREIGN KEY constraint 'FK_dbo.Jobregisters_dbo.JobSubGroups_SubgroupId' on table 'Jobregisters' 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.

لطفا راهنمایی کنید کجای مدل ریلیشن رو اشتباه تعریف کردم.متشکرم 

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 2 آذر 1395
  • 16:45

برای کلاس ها یک سازنده تعریف کنید

خالی باشه فقط تعریف کنید

کاربر سایت

reza

عضویت از 1392/02/15

  • سه شنبه 2 آذر 1395
  • 22:20

ممنونم استاد..با سازنده هم حل نشد.حدس می زنم یک ریلیشن دوو جا تعریف شده که نباید می شده.اما متوجه نمی شم کجا.برای ساده شدن موضوع یک مثال نوشتم که اون رو قرار می دم.از راهنمایی شما ممنونم.

  public class Groups
    {public Groups()
        { }

        public int Id { get; set; }
        public string Name { get; set; }

        public virtual List<subgroups> subgroups { get; set; }

        public virtual List<General> General { get; set; }
    }
=====================================
 public class subgroups
    {
        public subgroups()
        {
            
        }
        public int Id { get; set; }
  
        public string Name { get; set; }
        public int GroupId { get; set; }

        [ForeignKey("GroupId")]
        public virtual Groups Groups { get; set; }

        public virtual List<General> General { get; set; }
        
    }
=====================================
 public class General
    {
        public General()
        { }
        public int Id { get; set; }

        public int GroupIdb { get; set; }

        public int SubgroupId { get; set; }

        [ForeignKey("GroupIdb")]
        public virtual Groups Groups { get; set; }

        [ForeignKey("SubgroupId")]
        public virtual subgroups subgroups { get; set; }


    }

پیام خطا:

Introducing FOREIGN KEY constraint 'FK_dbo.subgroups_dbo.Groups_GroupId' on table 'subgroups' 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.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 3 آذر 1395
  • 10:19

در جنرال باید رابطه چند باشه نه یک

کاربر سایت

mvc_esmaeili

عضویت از 1395/08/22

  • چهارشنبه 3 آذر 1395
  • 16:09

شاید در یک کلاس نشه دو fk تعریف کرد شاید

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

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

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

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