Creando proxys con Castle DynamicProxy

¡Hola!
En esta entrada vamos a ver algunas cosas básicas sobre proxys y cómo crearlos utilizando un estupenda librería llamada DynamicProxy. Esta librería forma parte del proyecto Castle que incluye, además de DynamicProxy, otras potentes librerías como el contenedor de IoC Windsor. Volviendo a DynamicProxy, seguro que consciente o inconscientemente la has utilizado muchas veces en alguna librería o framework que hayas incluido en algunos de tus proyectos.. en este post lo veremos. Continúa leyendo Creando proxys con Castle DynamicProxy

Decompilando async/await

¡Hola!
Como bien dice el título de la entrada, vamos a echar un vistazo al código que se genera cuando utilizamos async/await. Siempre hemos escuchado que async/await es azúcar sintáctico y que genera un montón de código; pues voy a intentar explicar aprender qué es lo que hace el código que se genera cuando utilizamos async/await, a ver si me sale.
Continúa leyendo Decompilando async/await

IEnumerator, IEnumerable y otras hierbas

¡Hola!
El otro día en el trabajo salió el tema de cuál es la diferencia entre IEnumerable e IList (entre otros) y, creyendo que tenía clara la respuesta, me di cuenta de que no tanto. Sí sabía que, por ejemplo, IList implementa IEnumerable, y que en un IEnumerable no se puede acceder por índice a un elemento, sino que debemos recorrerlo. Es un momento perfecto para escribir un post y aclarar mis ideas. En concreto vamos a ver las interfaces IEnumerator, IEnumerable, ICollection e IList, empecemos (espero no extenderme demasiado). Continúa leyendo IEnumerator, IEnumerable y otras hierbas

Deserializar propiedades JSON dentro de un JSON

¡Hola!
El otro día se dio el caso de que tuve que deserializar un JSON dentro de un JSON, es decir, dado un JSON, una de las propiedades es un string que contiene otro JSON. No tiene pinta de que sea una gran forma de crear JSON, pero cuando se da el caso hay que deserializarlos 🙂
Continúa leyendo Deserializar propiedades JSON dentro de un JSON

Ninject. Crear factorías III

¡Hola!
Después de dar un repaso general a las diferentes características de las factorías de Ninject (aquí y aquí), vamos a ver un caso que se acerca más al mundo real. Vamos a ver cómo crear una factoría para generar comandos basado en el nombre del tipo del comando concreto. ¿Suena un poco lioso? Es muy sencillo, lo vemos a continuación.
Continúa leyendo Ninject. Crear factorías III

Ninject. Configurar contenedor desde XML

¡Hola!
Hoy vamos a ver cómo configurar nuestro contenedor IoC (con Ninject) a través de archivos XML. Esto puede ser útil en ciertas ocasiones, típicamente cuando queremos cambiar ciertas cosas sin tener que recompilar la aplicación.

Continúa leyendo Ninject. Configurar contenedor desde XML

Navigation properties null en Entity Framework

¡Hola!

Hoy me encontré un problema con EF en el que algunas propiedades de navegación se quedan null estando marcadas como virtual. El caso era algo así (lo vamos a simplificar):

public class MultilingualString : Entity
{
	public string DefaultText { get; set; }
 
        //ESTA ES LA PROPIEDAD QUE NOS INTERESA
        public virtual IList Translations { get; set; }
 
}

Continúa leyendo Navigation properties null en Entity Framework