Execute SQL Alter commands for every session with Entity Framework 5 talking to Oracle 11g

前端 未结 3 1464
一生所求
一生所求 2021-01-13 18:00

I have a requirement to execute some SQL commands at the start of every database session. I am using Entity Framework 5 via DbContext talking to a Oracle 11g database.

3条回答
  •  粉色の甜心
    2021-01-13 18:36

    If anyone is reading this, no, the right way is doing it on connection open triggered down the line of:

    public Entities()
        : base("name=Entities")
    {        
    
        ctx.Database.Connection.StateChange += Connection_StateChange;
        ...
    }
    
        private void Connection_StateChange(object sender, StateChangeEventArgs e)
        {
            if (e.OriginalState == ConnectionState.Open || e.CurrentState != ConnectionState.Open)
                return;
    
           this.Database.ExecuteSqlCommand("ALTER SESSION SET NLS_COMP=ANSI");
    
        }
    

提交回复
热议问题