1
從實體框架代碼優先生成數據庫時,出現此錯誤。引入FOREIGN KEY約束可能會導致循環或多個級聯路徑?
我didn't看到任何問題的腳本:
alter table [dbo].[Votes] add constraint [Post_Votes] foreign key ([Post_Id]) references [dbo].[Posts]([Id]) on delete cascade;
alter table [dbo].[Votes] add constraint [User_Votes] foreign key ([Voter_Id]) references [dbo].[Users]([Id]) on delete cascade;
每個引用是不同的表!
我可以只有一個刪除級聯每個表?
Edit: I think I found the problem, the bug is EF:
如果我有3個表:用戶,帖子和投票。
而且關係:
Post.AuthorId - > User.Id Votes.PostId - > Post.Id Votes.UserId - > User.Id
的Sql正確生成一個錯誤,因爲如果我刪除了一個帖子,我將有2個投票路徑:用戶 - >投票和用戶 - >發佈 - >投票
但實體框架不會檢測到這一點,並刪除級聯生成3外鍵。