C#

Mono con Entity Framework

Posted by Gabriel on August 14, 2012
C#, linux / No Comments

Notición.

Mono ya incorpora el Entity Framework.

Sigue este enlace.

El Entity Framework es open source

Posted by Gabriel on August 08, 2012
C# / No Comments

Ya hace días que ha sido noticia, pero los señores de Microsoft me han sorprendido muy gratamente al mismo tiempo que me han dejado un poco perplejo. Perplejo porque no entiendo como es que Microsoft halla liberado una de las que considero yo sus joyas de su corona.

Mi código se basa mucho en el Entity Framework. De hecho fue el motor que permtió arrancar rápidamente con todo esto al hacerme olvidar toda la complejidad que suponía la conexión a una base de datos. Tal es mi dependencia y el que hasta ahora no estuviera disponible como código libre que ya tenía en mente que quizás en un futuro necesitase crearme algún tipo de librería que abstrayera mi conexión a las bases de datos de una forma simple.

Nhibernate nunca me gustó y que ahora ya hallan noticias de que los desarrolladores de Mono ya puedan mirarse el Entity Framework pues, la verdad, es una buena noticia.

En minúsulas, por favor

Posted by Gabriel on July 16, 2012
C#, linux, MSSQL, mySQL / No Comments

Esto es una consideración importante para permitir un traspaso de base de datos a MSSQL a mySQL lo menos problemático posible, en un futuro.

Las nombre de las bases de datos crearlos en MSSQL utilizando solo minúsculas.

Resulta que al MySQL, por lo menos en Windows, por defecto los nombres de las tablas y bases de datos son en minúsculas, por lo que si se decide portar la base de datos de MSSQL a mySQL perderemos todos estos valores, con la consiguiente revisión de código que se va a tener que realizar si hacemos el traspaso. Mejor utilizar minúsculas y si queremos guiones bajos.

De momento no se que pasará el día que nos vayamos a Linux, pero el cifostio podría ser importante.

Elminiar duplicados de una lista.

Posted by Gabriel on July 05, 2012
C# / No Comments
var lista = listaDuplicados.Distinct();

Usar SQLite con .net client profile 4 ?

Posted by Gabriel on June 28, 2012
C#, SQLite / No Comments

Aquí:

http://www.csharpcity.com/sqlite-ado-net-c-4-0/

Simplemente añadir esto en config.file:

<startup useLegacyV2RuntimeActivationPolicy=”true”> … </startup>

Instalar Mono desde las fuentes.

Posted by Gabriel on April 26, 2012
C#, linux, Ubuntu / No Comments

Interesante receta de como instalar Mono desde las fuentes en Ubuntu 10.04:

http://pjsmith.me.uk/index.php/2011/08/installing-mono-2-10-x-on-ubuntu-10-4lts/

Tags: , ,

Limpiar formulario en asp.net

Posted by Gabriel on April 01, 2012
asp.net, C# / No Comments

Se podría hacer limpiando uno a uno cada uno de los textBoxes con textBox.Text = String.Empty, pero si hay muchos es mejor tirar de esto:

protected void buttonLimpiar_Click(object sender, EventArgs e)
    {
        List<Control> listaTextBoxes = new List<Control>();
        
        foreach (Control ctrl in form1.Controls)
        {
            if (ctrl is TextBox) listaTextBoxes.Add(ctrl);
        }
        
        foreach (TextBox textBox in listaTextBoxes) textBox.Text = String.Empty;
    }

Usando ‘intro’ como ‘tab’ en los textBoxes.

Posted by Gabriel on October 27, 2011
C# / No Comments

La única condición es asiganr el tabIndex correcto a cada uno de los textBox:

        private List<Control> listaTextBoxes;
        private void FichaCliente_Load(object sender, EventArgs e)
        {
            listaTextBoxes = new List<Control>();
            CargarListaTextBoxes(this);

            listaTextBoxes = (from c in listaTextBoxes
                              orderby c.TabIndex
                              select c).ToList();
        }

        private void CargarListaTextBoxes(Control parent)
        {
            foreach (Control c in parent.Controls)
            {
                if (c is TextBox)
                {
                    listaTextBoxes.Add(c);
                }

                if (c.Controls.Count > 0)
                {
                    CargarListaTextBoxes(c);
                }
            }
        }

        private void Form_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                string c = this.ActiveControl.Name;
                int i = 0;
                foreach (Control ctrl in listaTextBoxes)
                {
                    if (ctrl.Name == c) break;
                    ++i;
                }
                if(i < listaTextBoxes.Count -1) listaTextBoxes[i + 1].Focus();
            }
        }

Any question, let me know.

Tags: ,