Asp.net System.Data.Entity.Infrastructure.DbUpdateException

Я хочу удалить сообщение, но получаю исключение SqlException:

The DELETE statement conflicted with the REFERENCE constraint "FK_dbo.Adresler_dbo.Kisi_Kisi_ID". The conflict occurred in database "TestDb", table "dbo.Adresler", column 'Kisi_ID'. The statement has been terminated.

  [Table("Kisi")]
public class Kisiler
{
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    [StringLength(20),Required]
    public String Ad { get; set; }
    [StringLength(20),Required]
    public String Soyad { get; set; }
    [Required]
    public int Yas { get; set; }
    public virtual List<Adresler> Adresler { get; set; }

}
   [Table("Adresler")]
public class Adresler
{
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    [StringLength(300)]
    public string AdresTanim { get; set; }
    public virtual Kisiler Kisi { get; set; }
}

  [HttpPost,ActionName("Sil")]
    public ActionResult SilOk(int? kisiid)
    {

        if (kisiid != null)
        {
            DatabaseContext db = new DatabaseContext();
            Kisiler kisi = db.dbSetKisiler.Where(x => x.ID == kisiid).FirstOrDefault();

            Adresler adres = db.dbSetAdresler.Where(x => x.Kisi.ID == kisi.ID).FirstOrDefault();


            db.dbSetKisiler.Remove(kisi);
            db.dbSetAdresler.Remove(adres);
            db.SaveChanges();

        }
        return RedirectToAction("Index", "Home");
    }

Как мне это сделать?

Возможный дубликат Оператор удаления конфликтует с ограничением ссылки

user47589 22.03.2018 21:16

Таким образом, ошибка сообщает вам, что у вас есть ссылочное ограничение. Это означает, что другая таблица ссылается на строку, которую вы пытаетесь удалить. Вам нужно найти это ограничение, определить, допустимо ли оно, а затем определить, какие действия вы хотите предпринять с этой строкой при удалении строки, на которую она ссылается. Есть много вариантов. Ссылка, предоставленная Эми, показывает, как запустить каскадное удаление в структуре сущностей. Здесь показано, как настроить его прямо в таблице sql: stackoverflow.com/questions/6260688/…

user7396598 22.03.2018 21:29
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
57
0

Другие вопросы по теме