jueves, 24 de septiembre de 2015

Visualizar el estado de las entidades en Entity Framework

Si programas con Entity Framework, tarde o temprano tendrás algún problema al querer saber cuál es el estado de todas las entidades que está siguiendo el contexto.

Claro está que puedes utilizar el método Entry o incluso saber si una propiedad está modificado con un código similar al siguiente:

DbEntityEntry<Customer> entry = context.Entry(customer);

Debug.WriteLine(entry.State);

Debug.WriteLine(entry.Property(p => p.Name).IsModified);

En cualquier caso, ver el estado de todas las entidades y que propiedades han sido modificadas (si es que la entidad ha sido modificada) se puede convertir en una tarea ardua y no trivial.

Para estos casos (yo directamente es un código sin el que no puedo vivir) encontré un día un método extensor de ObjectStateManager (DbContext lo sigue utilizando bajo cuerda) que vuelca toda la información de seguimiento en HTML, bravo!!

Con este nuevo y awesómico método, no hay sesion de debugging que se resista… porque sí, yo depuro y mucho, lo reconozco :)

image

image

He subido un proyecto muy sencillo en github donde se puede ver en un periquete como funciona el asunto.

Un saludo!

No hay comentarios:

Publicar un comentario