Mostrando postagens com marcador EF. Mostrar todas as postagens
Mostrando postagens com marcador EF. Mostrar todas as postagens

13 de nov. de 2009

SQL gerado pelo Entity Framework

Com a seguinte linha de comando é possível obter o SQL gerado pelo EF:

string queryText = (query as ObjectQuery).ToTraceString();

Ficaría-mos com algo assim então:

public static List<PEDIDOVENDA> TotalizarPedidos(int maximumRows, int startRowIndex)
{
    var db = new Entities();

    var query = from p in db.PEDIDOVENDA
                where
                    p.BO_AUTORIZADO == "N"
                select p;

    // -> Recupera a string com o SQL gerado pelo Entity Framework!
    string queryText = (query as ObjectQuery).ToTraceString();

    var result = query.ToList();

    return result;
}

Bons estudos… e gerações de Logs eOAIUehOIUAEHOIUAehAE! :)

4 de nov. de 2009

Executar uma query SQL no Entity Framework

public static void ExecuteQueryEF(ObjectContext c, string sql)   
{
    // -> Obtém a conexão do contexto
    var entityConnection = (EntityConnection)c.Connection;       
    // -> Cria um dbConnection
    DbConnection conn = entityConnection.StoreConnection;       
    // -> Salva o estado inicial da conexão;
    ConnectionState initialState = conn.State;       

    try       
    {
        // -> Abre a conexão caso necessário.
        if (initialState != ConnectionState.Open)               
            conn.Open(); 

        // -> Cria um comando.
        using (DbCommand cmd = conn.CreateCommand())           
        {               
            cmd.CommandText = sql;               
            cmd.ExecuteNonQuery(); // -> Executa o SQL.     
        }       
    }       
    finally       
    {           
        // -> Caso o estado inicial não for aberto
        //    fechasse a conn.
        if (initialState != ConnectionState.Open)               
            conn.Close();
    }   
}

Método que executa uma query na conexão do EntityFramework.