PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Entity Framework ObjectContext -> panggilan SQL mentah ke DBMS asli

Jawaban Craig, meskipun tidak berfungsi apa adanya, membuat saya melihat ke arah yang benar. Ternyata ada properti EntityConnection.StoreConnection yang memberi Anda koneksi ke DBMS yang mendasarinya. Jadi mengeksekusi SQL "asli" semudah ini:

    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. Membangun Database yang Sangat Tersedia untuk Moodle Menggunakan PostgreSQL

  2. Transaksi bersarang di postgresql 8.2?

  3. Kueri SQL untuk memilih pasangan nilai dalam kolom 1 yang cocok dengan salah satu dari dua pola di kolom 2

  4. SQL:Mengurangi 1 hari dari tanggal stempel waktu

  5. Bagaimana saya bisa mengganti huruf besar/kecil untuk setiap huruf dalam string dengan SQL?