Я реализовал двунаправленное отношение 1: 1 на основе этого ответа:
Первичный / внешний ключ в Entity Framework
Я определяю двунаправленное отношение следующим образом:
public class Student
{
public virtual int StudentId { get; set; }
public virtual Anamnesis Anamnesis { get; set; }
. . .
}
public class Anamnesis
{
[Key, ForeignKey("Student")]
public int AnamnesisId { get; set; }
public virtual Student Student { get; set; }
. . .
}
где, Student - это основная сущность, а Anamnesis - это сущность, которая разделяет PK.
Теперь я хотел бы, чтобы у созданного отношения было правило удаления = CASCADE.На самом деле, создаваемая связь имеет Правило удаления = НЕТ ДЕЙСТВИЯ, как показано на следующем рисунке:
Если я вручную удаляю эту связь в окне Свойства таблицы и добавляю другиесвязи с правилом удаления = CASCADE, код работает так, как я ожидаю, позволяя мне удалить студента и его общий анамнез с тем же идентификатором.
Итак, вот мой вопрос:
Есть лиспособ использования аннотации данных (не Fluent API) в моем классе, чтобы я получил правило удаления Relation with CASCADE?Я предпочел бы использовать аннотацию данных, но если это невозможно, я был бы рад некоторому коду Fluent API, который делает эту работу.
NOTE
Я пробовалсвободный код API, который показан в этом сообщении .Это не работает в моем случае, когда у меня есть двунаправленные свойства.