PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Kann ich ein Ereignis für die Verbindungsdatenbank in Entity Framework Core auslösen?

Sie sollten dazu in der Lage sein, eine Verbindung in Ihren DbContext zu übergeben und Hooken des StateChange event:(Bitte entschuldigen Sie das SQLite-Beispiel. Ich weiß, Sie sagten PostgreSQL.)

var connection = new SqliteConnection(connectionString);
_connection.StateChange += (sender, e) =>
{
    if (e.OriginalState != ConnectionState.Open)
        return;

    var senderConnection = (DbConnection)sender;

    using (var command = senderConnection.CreateCommand())
    {
        command.Connection = senderConnection;
        command.CommandText = "-- TODO: Put little SQL command here.";

        command.ExecuteNonQuery();
    }
};

optionsBuilder.UseSqlite(connection);