_context.SaveChanges(); ERROR in .NET8

marcelw-ch marcelw-ch_hotmail.com 61 Zuverlässigkeitspunkte
2024-02-28T11:07:35.27+00:00

Hallo, eine Blazor Server App in .NET7 funktioniert einwandfrei. Nach der Migration auf .NET8 verursacht der _context.SaveChanges(); Prozess einen Fehler den ich trotz Info nicht verstehe. Bitte um Support, merci, marcel Die Info: Microsoft.EntityFrameworkCore.DbUpdateException: "Could not save changes because the target table has database triggers. Please configure your table accordingly, see https://aka.ms/efcore-docs-sqlserver-save-changes-and-output-clause for more information." SqlException: The target table 'UserLogInDataSet' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.

.NET
.NET
Microsoft-Technologien, die auf dem .NET-Softwareframework basieren.
15 Fragen
Blazor
Blazor
Ein kostenloses Open-Source-Webframework, mit dem Entwickler Web-Apps mit C# und HTML erstellen können, die von Microsoft entwickelt werden.
4 Fragen
0 Kommentare Keine Kommentare
{count} Stimmen

Akzeptierte Antwort
  1. Ivan Dragov (CONCENTRIX Corporation) 1.310 Zuverlässigkeitspunkte Microsoft-Anbieter
    2024-02-29T07:56:36.5633333+00:00

    Hallo marcelw-ch,

    Deine App hat gut funktioniert, bis das .NET 8-Upgrade wahrscheinlich einen Trigger zu einer Tabelle hinzugefügt hat, die in einer UPDATE-Anweisung aufgeführt ist. Der Entwickler hatte nicht damit gerechnet, dass jemals ein Trigger für die Tabelle erstellt werden würde, was zu einem SQL-Fehler führte. Die Lösung besteht darin, dass Deine Anwendung so geändert wird, dass sie die INTO-Klausel verwendet, und dass SQLMoreResults genutzt wird, um alle resultierenden Daten zurückzugeben. Mehr Informationen bietet dieser Artikel:

    UPDATE with OUTPUT clause – Triggers – and SQLMoreResults

    Gruß,

    Ivan Dragov

    2 Personen fanden diese Antwort hilfreich.

0 zusätzliche Antworten

Sortieren nach: Am hilfreichsten