У меня есть простой человек
public class Person
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
}
И если один человек отправляет запрос в друзья кому-то другому, у меня есть эта модель
public class FriendRequest
{
public int Id { get; set; }
public bool Accepted { get; set; }
[Key, Column(Order = 1)]
public string SenderId { get; set; }
public virtual Person Sender { get; set; }
[Key, Column(Order = 2)]
public string ReceiverId { get; set; }
public virtual Person Receiver { get; set; }
}
Сначала я использую код EF 4.1подход.Должны быть созданы две таблицы
People {Columns = "Id, Name"}
FriendRequests {Columns = "Id, SenderId, ReceiverId, Accepted"}
с ограничениями внешнего ключа ...
Когда я пытаюсь добавить нового человека из моего контроллера, он жалуется
The database creation succeeded, but the creation of the database objects did not.
See InnerException for details.
InnerException:
Introducing FOREIGN KEY constraint 'FriendRequest_Sender' on table
'FriendRequests' 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.
Что я делаю не так?Я пропускаю какие-либо аннотации на моей модели?
Или это совершенно неверный способ обработки сценария отправки и получения запроса на добавление в друзья?
Любая помощь приветствуется.