6
Die folgende Aktion wird von Visual Studio gerüsted. Es wird jedoch eine Ausnahme ausgelöst, wenn der zu löschende Datensatz von einer anderen Tabelle referenziert wurde. Ich möchte eine nette Fehlermeldung anzeigen, wenn der Datensatz verwiesen wurde. Was sind die guten Möglichkeiten, es zu tun?Wie wird mit der erwarteten SQL-Ausnahme verfahren?
- Testen, ob der Datensatz bereits vor dem Löschen übertragen wurde? (Da sich jedoch das Datenbankschema ändert, können später weitere Referenzen hinzugefügt werden.)
- Den Code in einen try/catch-Block schreiben. (Funktioniert es mit der async/wait-Anweisung?)
...
// POST: /Venue/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public async Task<ActionResult> DeleteConfirmed(int id) { Venue venue = await db.Venues.FindAsync(id); db.Venues.Remove(venue); await db.SaveChangesAsync(); return RedirectToAction("Index"); }