domingo, 27 de noviembre de 2016

DataAnnotations In Depth I




The namespace System.ComponentModel.DataAnnotations, has a group of classes, attributes and methods, to make validations in ours .NET applications.

In the Microsoft world, there are technologies as WPF, Silverlight, ASP MVC, Entity Framework, etc., which make automatic validation with class and exclusive attributes. We think this mechanism is exclusive of this technologies, but it is not like this. We can use it with all classes of Framework.





miércoles, 16 de noviembre de 2016

Generic IEqualityComparer -S-





En este post, hablaremos sobre la implementación genérica para IEqualityComparer.

Este tipo de implementaciones, son ideales, para gente vaga, y que le gusta aprovechar más su tiempo realizando otro tipo de tareas, que con copy/pastes prácticamente iguales.

IEqualityComparer  es una de las interfaces, más importantes dentro del mundo de LinQ.­­ Muchos de sus métodos más importantes, toman una  sobrecarga  con un parámetro de este tipo, o de una clase que deriva de esta interfaz. Ejemplos de ella son: Contains, Distinct, Except, Intersect, GrouBy, GroupJoin, Join, SecuenceEqual, ToDictionary, ToLookUp y Union.






Generic IEqualityComparer -E-





This is my first post in English. I’ll try to post in English and Spanish.

In this post I’ll talk of a custom Generic IEqualityComparer implementation.

IEqualityComparer is a very important interface for comparer tasks in the LinQ world.­­ The next extended methods have an overload with this parameter type: Contains, Distinct, Except, Intersect, GrouBy, GroupJoin, Join, SecuenceEqual, ToDictionary, ToLookUp and Union.






domingo, 6 de noviembre de 2016

Extendiendo LinQ




Como hemos mencionado en otros posts y en otras ocasiones, la librería principal de LinQ, System.Linq, está formada por un conjunto de métodos extensores que en la mayoría de los casos expande la funcionalidad del tipo IEnumerable<T>. Por este motivo, y por facilidad de generación de este tipo de métodos, alargar, dilatar, mejorar o incluso moldear muchos de ellos, se vuelve una tarea muy simple y en ocasiones bastante gratificante y útil.

 Os indico como recordatorio los enlaces para métodos extensores y generics, que son básicos para dominar el tema de hoy.



domingo, 30 de octubre de 2016

PLinQ 2



En este nuevo post de PLinQ, nos vamos a centrar en los métodos más importantes de ParalallelEnumerable, decimos los más importantes, ya que nos ofrecen una funcionalidad extra para nuestras consultas parametrizadas.

Cabe destacar, como nombramos en el anterior post de PLinQ, que la clase ParallelEnumerable, tiene una definición para cada uno de los métodos extensores (operadores de consulta) de la clase System.LinQ, para hacer completamente transparente su uso, de modo que pensemos que estamos utilizando una consulta simple a un IEnumerable.