/// EF Execute 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 } }



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 
static void Main(string[] args)
     {
            EntityConnection myConnection = new EntityConnection(ConfigurationManager.ConnectionStrings["SimpleDBEntities"].ConnectionString);
 
            //Using ExecuteStoreQuery in EF4.
            using (SimpleDBEntities se = new SimpleDBEntities(myConnection))
            {
                foreach(var tableNames in se.ExecuteStoreQuery<string>("SELECT name FROM sys.tables"))
                {
                    Console.WriteLine(tableNames);
                }
            }
 
            //Extract the SqlConnection from the EntityConnection.
            SqlConnection mySqlConnection = myConnection.StoreConnection as SqlConnection;
            if (mySqlConnection.State != System.Data.ConnectionState.Open)
                mySqlConnection.Open();
            SqlCommand myCommand = new SqlCommand("SELECT name FROM sys.tables", mySqlConnection);
            using (var tableNames = myCommand.ExecuteReader())
            {
                while (tableNames.Read())
                {
                    Console.WriteLine(tableNames[0].ToString());
                }
            }
 
            mySqlConnection.Close();
            Console.ReadLine();
        }

 









posted on 2012-08-09 18:01  cotopboy  阅读(404)  评论(0编辑  收藏  举报