У меня есть отношения один к одному, настроенные на ядре ef. Когда я пытаюсь удалить объект Article
, мне нужно каскадировать MediPlan
, так как это отношение one to one
. Когда я удаляю Article
, MediaPlan
не удаляется.
Вот настроил.
public class Article
{
public int Id { get; set; }
public int MediaPlanId { get; set; }
public MediaPlan MediaPlan { get; set; }
}
а также
public class MediaPlan
{
public int Id { get; set; }
public Article Article { get; set; }
}
Контекст
modelBuilder.Entity<Article>().HasOne(x => x.MediaPlan).WithOne(x => x.Article);
Код для удаления
var article = await _db.Articles
.Include(x=>x.MediaPlan)
.SingleAsync(x=>x.Id == id);
_db.Articles.Remove(article);
await _db.SaveChangesAsync();
Должен ли я также устанавливать FK для объекта MediaPlan
?
Благодарю вас!
MediaPlan
. У вас не может быть и того, и другого. Если вы хотите, чтобы было наоборот, вы должны сделатьMediaPlan
ссылкой наArticle
от FK. - person Gert Arnold   schedule 19.06.2019