Я получаю эту ошибку при создании базы данных из Entity Framework Code First.Представление ограничения 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 внешних ключа при удалении каскада.