我首先使用實體代碼爲我的項目。基本上我有3類Users
,Branchs
和UsersBranchs
。實體框架,外鍵約束可能會導致週期或多個級聯路徑
Users
包含UserID
,Name
...
Branchs
包含BranchID
,Location
,......和用戶名是指分支 和UsersBranchs
的創造者只是有兩個柱BranchID和用戶ID是定義哪些用戶在哪個分支
的問題是我得到這個錯誤:
'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.
你能幫我嗎?
更新
這是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類同時使用用戶名和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