Tengo un método que cuenta el número de contactos de cada proveedor, cliente y el fabricante tiene (este es un escenario para tratar de hacer la explicación más fácil!)C# acceder a las propiedades de un objeto genérico
Los modelos son creados por Linq a las clases de SQL. Cada proveedor, cliente y el fabricante puede haber uno o más contactos
public int CountContacts<TModel>(TModel entity) where TModel : class
{
return entity.Contacts.Count();
}
Lo anterior, por supuesto, no funciona, debido a que la 'entidad' es genérica y no sabe si tiene la propiedad 'Contactos'. ¿Alguien puede ayudar con cómo lograr esto?
+1 Excepto que no debe devolver la lista - preferiblemente IList <> o quizás incluso IEnumerable <> –
n8wrl
Buen punto. Estaba escribiendo rápido y no lo pensé bien. – kemiller2002
El problema con esto es que las clases de LINQ a SQL usan EntitySets para tal fin, y la propiedad de Contactos con el tipo EntitySet no implementará la propiedad de la interfaz, por lo que deberá implementarla manualmente en todas las clases. – Venemo