Una forma preferible de implementar SPs en entity frameework en su primer versión, es creando los objetos desde System.Data.SqlClient, de la siguiente manera (Asumiendo que se esta utilizando el modelo de EFPocoAdapter ):

string connection = ((System.Data.Common.DbConnection)((System.Data.EntityClient.EntityConnection)(context.WrappedContext.Connection)).StoreConnection).ConnectionString;

Sin embargo, existe el problema de que el connection string viene contaminado por el uso de EFWrappers ya que hacemos uso de EFCaching, así que haremos uso de “Replace” del objeto “string” para limpiarlo. Al final quedaría así:

public void MySPCall() 
{

        using (EFContext context = new EFContext())
        {
            string connection = ((System.Data.Common.DbConnection)((System.Data.EntityClient.EntityConnection)(context.WrappedContext.Connection)).StoreConnection).ConnectionString.Replace("wrappedProvider=;", "");
            using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(connection))
            {
                if (con.State == System.Data.ConnectionState.Closed)
                    con.Open();
                System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); 
                cmd.Connection = con; 
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@section_name", "test");
                cmd.CommandText = "EntLib_RemoveSection";

                cmd.ExecuteNonQuery();

                con.Close();
            }
        }
}

Esta es la solución temporal, Con Entity Framework 4.0 viene una mejor forma de interactuar con los SPs.

viernes 29 de enero de 2010

Ya hay un IPOD grandote

Cuando supe de la novedad de Apple  pensé que sería el momento de comenzar a pensar en esa opción para algunas aplicaciones cliente. Pero bueno, siempre y cuando tengamos en cuenta que es un IPOD de mejor tamaño.

10 cosas que una Netbook hace mejor que la iPad - El Universal - Sociedad

http://alt1040.com/2010/01/internet-se-rie-del-ipad

El problema radica en que el plugin de SyntaxHighlighter requiere que el HTML tenga codificadas sus entidades HTML como “<” y “>” a “&lt;” y “&gt;”, pero no es posible agregar esa funcionalidad mediante configuración al FCKEditor (Al menos en mi versión actual, simplemente no vi como), solo entrando al código de .net.

El problema:

image

Al guardar los datos y visualizarlos en el HTML el resultado es pésimo, todos los textos dentro de los símbolos mayor y menor que se convierten en mayúscula y eso evita un copiar y pegar amigable. Afecta mucho al código donde se implementa C# con Generics y a plantillas T4

image

Solución

(No es la mejor, pero no es obstructiva)

Por el momento, para salir del apuro, existen muchas herramientas en línea para transformar código a HTML:

Primero pega aquí el código que has copiado de Visual Studio:

http://centricle.com/tools/html-entities/

image

Haz click en "Encode" y copia el código transformado.

image

Pegalo en el FCKEditor mediante el botón de "Code".

image

Listo, no debe haber mas problema.

image

Para salir del problema rápido… pero existe una solución mas elegante, seguro que si.