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
}
}