PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Entity Framework ObjectContext -> необработени SQL извиквания към родната СУБД

Отговорът на Крейг, въпреки че не работи такъв, какъвто е, ме накара да погледна в правилната посока. Оказва се, че има свойство EntityConnection.StoreConnection, което ви осигурява връзка с основната СУБД. Така че изпълнението на "родния" SQL е толкова лесно, колкото това:

    static void ExecuteSql(ObjectContext c, string sql)
    {
        var entityConnection = (System.Data.EntityClient.EntityConnection)c.Connection;
        DbConnection conn = entityConnection.StoreConnection;

        ConnectionState initialState = conn.State;
        try
        {
            if (initialState != ConnectionState.Open)
                conn.Open();  // open connection if not already open
            using (DbCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
            }
        }
        finally
        {
            if (initialState != ConnectionState.Open)
                conn.Close(); // only close connection if not initially open
        }
    }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Увеличете стойност в Postgres

  2. Pyspark:Премахване на UTF нулев знак от рамката с данни на pyspark

  3. Променете първичния ключ в таблицата на PostgreSQL

  4. Postgres SELECT* FROM таблица WHERE column-varchar==string-example?

  5. ActiveRecord заявката е много по-бавна от обикновения SQL?