Donné le:LinqToSQL - Objet Cast IQueryable lors de l'exécution?
var query = context.GetTable<T>();
Où "T" est une entité générique passé dans la méthode,
Je voudrais faire quelque chose comme ceci:
if(typeof(TEntity) is IEntitySoftDeletable)
query = query.Cast<IEntitySoftDeletable>.Where(ent => !ent.IsDeleted);
}
Est-ce possible?
Actuellement, il me dit que je ne peux pas lancer de cette façon.
Je réalise que je pourrais forcer le paramètre "T" à être un IEntitySoftDeletable au niveau de la classe ou de la méthode, mais j'essaie d'éviter cela et de fournir plus de flexibilité à partir de la même méthode.
Est-ce que T implémente IEntitySoftDeletable? – bytebender
pas toujours ... T pourrait être un nombre quelconque de types, dont certains implémentent IEntitySoftDeletable. Ce que j'aimerais, c'est ajouter un prédicat à l'interrogeable * si * T est un IEntitySoftDeletable. Ce que j'essaye d'éviter exige une surcharge pour ce comportement séparé. –