Question

Je veux filtrer une collection de propriétés pour trouver toutes les propriétés qui sont de type EntityCollection<> comme ceci:

entity.GetProperties().Where(p => p.PropertyType == typeof(EntityCollection<>));

Le code ci-dessus renvoie toujours aucun résultat, car les propriétés seront de type EntityCollection<TEntity>TEntity est un EntityObject .

J'ai aussi essayé d'utiliser EntityCollection<EntityObject> sans succès.

Je ne se soucient pas du type spécifique de TEntity, je veux juste des propriétés qui sont de type EntityCollection<> quel que soit le type de TEntity.

Cela semble que cela devrait être simple, que je manque un truc ici? : -)

Était-ce utile?

La solution

Eh bien, vous pouvez utiliser:

Where(p => p.PropertyType.IsGenericType && 
           p.PropertyType.GetGenericTypeDefinition() == typeof(EntityCollection<>))

est-ce que vous êtes après? Notez que cela ne trouvez pas sous-types de EntityCollection<TEntity>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top