PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Entity Framework ObjectContext -> các cuộc gọi SQL thô đến DBMS bản địa

Câu trả lời của Craig, mặc dù nó không hoạt động như hiện tại, nhưng đã giúp tôi nhìn đúng hướng. Hóa ra có một thuộc tính EntityConnection.StoreConnection giúp bạn kết nối với DBMS cơ bản. Vì vậy, việc thực thi SQL "gốc" dễ dàng như sau:

    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. Làm thế nào để thả một cơ sở dữ liệu mẫu khỏi PostgreSQL?

  2. Làm thế nào để nhanh chóng có được 13 dòng kỷ lục gần một điểm (lon, vĩ độ) postgis

  3. PGError:không có kết nối với máy chủ sau khi không hoạt động

  4. Liệt kê các ràng buộc cho tất cả các bảng có các chủ sở hữu khác nhau trong PostgreSQL

  5. Cách Width_Bucket () hoạt động trong PostgreSQL