J'essaie de faire ceci: J'utilise d'abord le code EF pour mapper une ancienne base de données existante. Il y a beaucoup de champs avec le mauvais type (ex: char (1) utilisé comme booléen) donc j'ai créé une classe wrapper pour mon contexte db qui correspond parfaitement à la table de base de données. Maintenant, je veux exposer un type IQueryable de mon Entité sur mon dépôt. Voir mon exemple:Convertir IQueryable <T> en IQueryable <Y>
public class MyContext:DbContext
{
public DbSet<WrappedEntity> WrapperEntities;
}
public class Repository
{
private MyContext _context;
//contructors omitted
public IQueryable<Entity> GetEntities()
{
return _context.WrapperEntities; //doesn't compile, I need some convertion here
}
}
J'ai déjà ma routine de convertion, la seule chose qui manque est un moyen d'interroger ma pensée DbContext mon dépôt sans exposer la classe WrappedEntity, Est-il possible et comment?
Merci.
Je suis confus, vous avez créé le type de WrappedEntity pour corriger une décision regrettable schéma dans la base de données, mais vous n » Je veux exposer ça? Est-ce que je vous lis correctement? –
Exactement. Je veux "cacher" au consommateur de mon référentiel la structure réelle de ma base de données. –