Удаление нескольких записей из нескольких таблиц в базе данных - PullRequest
0 голосов
/ 20 декабря 2018

это мой третий вопрос здесь, за 2 дня, и хотя главная причина - график.У меня есть четыре таблицы в моей базе данных " Школа ", " Контакт ", " Электронная почта " и " Телефон ".Когда я удаляю школу, в которой есть 2 контакта, кнопка удаления работает (при условии, что у контакта нет никаких телефонов или электронных писем), но когда я пытаюсь удалить школу, в которой есть 2 контакта, скажем,каждый с 1 телефоном и электронной почтой это не работает.Поэтому мой вопрос: как я могу удалить информацию о школе (из таблицы " Школа ") вместе с информацией о сотрудниках, которая остается в таблицах " Контакт ", "Электронная почта"," Телефон".

Итак, у меня есть, скажем, 1 школа с 2 контактами (id 1, id 2), и эти контакты имеют 2 телефона, и яудастся удалить эти два контакта, потому что у них есть школьный идентификатор 1, но я не знаю, как удалить телефоны (потому что они не имеют такой же идентификатор контакта, как первый).

IЯ посылаю вам класс "Школа", мои переменные кода написаны на сербском языке.

public partial class Skola
{

public Skola()
{
this.Kontakt = new HashSet<Kontakt>();
}

public int SkolaID { get; set; }
public string NazivSkole { get; set; }
public string AdresaRegistracije { get; set; }
public string Opstina { get; set; }
public Nullable<int> PostanskiBroj { get; set; }
public string MaticniBrojSkole { get; set; }
public string PIB { get; set; }
public string BrojRacunaSkole { get; set; }
public string WebStranica { get; set; }
public byte[] Fotografija { get; set; }
public string Beleska { get; set; }


public virtual ICollection<Kontakt> Kontakt { get; set; }
}

Это класс «Контакты» (которые имеют идентификаторы, важные для таблиц «Электронная почта» и «Телефон»)

public partial class Kontakt
{
public Kontakt()
{
this.MailAdresa = new HashSet<MailAdresa>();
this.Telefon = new HashSet<Telefon>();
}

public string Ime { get; set; }
public string Prezime { get; set; }
public string RadnoMesto { get; set; }
public int SkolaID { get; set; }
public int KontaktID { get; set; }

public virtual Skola Skola { get; set; }

public virtual ICollection<MailAdresa> MailAdresa { get; set; }

public virtual ICollection<Telefon> Telefon { get; set; }
}

Классы "Электронная почта" и "Телефон" ...

public partial class MailAdresa
{
public string Adresa { get; set; }
public string OznakaTipaMail { get; set; }
public int KontaktID { get; set; }

public virtual Kontakt Kontakt { get; set; }
}


public partial class Telefon
{
public string BrojTelefona { get; set; }
public string OznakaTipa { get; set; }
public string Lokal { get; set; }
public int KontaktID { get; set; }

public virtual Kontakt Kontakt { get; set; }
}


And the controller that performs deleting.

Контроллер (он не позволяет мне добавлятькод, поэтому проверьте изображение)

Большое спасибо.

1 Ответ

0 голосов
/ 21 декабря 2018

Таким образом, ваш вопрос заключается в том, чтобы удалить записи дочернего элемента перед удалением элемента parant.

Это то же самое с этим вопросом: Как удалить дочерние объекты перед родителем с Entity Framework CF?

...