В моей EF кода первой модели, у меня есть две сущности:Предотвращение внешнего ключа собственность от сброса в EF Code First
class User
{
[Key]
public int Id { get; set; }
[InverseProperty("Friend")]
public virtual ICollection<Invitation> Invitations { get; set; }
}
class Invitation
{
[Key]
public int Id { get; set; }
public int FriendId { get; set; }
[ForeignKey("FriendId")]
public User Friend { get; set; }
}
Так FriendId свойство внешнего ключа в сущности пользователя. Теперь, когда я добавляю новый объект приглашения в коллекцию User.Invitations, свойство Invitation.Friend заполняется соответствующим образом, и это то, что я хочу.
Однако, когда я удаляю объект приглашения из коллекции User.Invitations, я хочу, чтобы свойство Friend удаляемого объекта приглашения сохраняло его значение. В настоящее время EF установит значение null. Как я могу это предотвратить? Я использую EF 6.0.
Благодаря
Почему вы удаляете приглашение от пользователя, если вы не хотите нарушать отношения между ними? – Dismissile
Я хочу удалить приглашение, когда пользователь хочет его удалить, но я хочу сохранить объект приглашения для ведения бухгалтерского учета. – superkinhluan