Я использую код Entity для моего проекта. В основном у меня есть 3 класса Users
, Branchs
и UsersBranchs
.Entity Framework, ограничение внешнего ключа может вызвать циклы или несколько каскадных путей
Users
содержит UserID
, Name
...
Branchs
содержит BranchID
, Location
... и Идентификатор_пользователь, который относится к создателю ветви и UsersBranchs
просто есть два столбец BranchID и UserID, который определяет, какие пользователь, в котором филиал
проблема я получаю эту ошибку:
'FK_dbo.UsersBranchs_dbo.Users_UsersID' on table 'UsersBranchs' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Вы можете мне помочь?
Update
Это UsersBranchs Класс
[ForeignKey("UserID")]
public CoreUsers User { get; set; }
public Guid UsersID { get; set; }
[ForeignKey("BranchID")]
public Branchs Branch { get; set; }
public Guid BranchID { get; set; }
А также добавить эту строку в класс DbContext использовать как UserID и BranchID как ключ
modelBuilder.Entity<UsersBranchs>().HasKey(x => new { x.UserID, x.BranchID });
Филиалы Класс
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid ID { get; set; }
[ForeignKey("UserID")]
public CoreUsers User { get; set; }
public Guid UserID { get; set; }
public .....
Пользователи Класс
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid ID { get; set; }
public .....
Получаете ли вы это сообщение на SQL-сервере? –
Вы также должны показать настройки PK & FK. – Raptor
У меня была аналогичная проблема и я нашел решение, пожалуйста, посмотрите здесь http://stackoverflow.com/questions/27613117/introducing-foreign-key-constraint-may-cause-cycles-or-multiple-cascade-paths- s – Mindless