J'ai une classe du référentiel générique, voir ci-dessous, qui est utilisé pour exécuter des fonctions d'accès aux données communes, à savoir, Ajouter, GetByID etc.classe dérivée de dépôt générique
public class GenericRepository<TEntity> : IGenericRepository<TEntity> where TEntity : class
{
internal GolfEntities context;
internal DbSet<TEntity> dbSet;
public GenericRepository(GolfEntities context)
{
this.context = context;
this.dbSet = context.Set<TEntity>();
}
public TEntity GetByID(object id)
{
return dbSet.Find(id);
}
Je voudrais créer une autre classe du référentiel qui dérive de cette classe Generic Repository afin que je puisse effectuer d'autres fonctions qui n'appartiennent pas à la classe Generic Repository, comme, obtenir un nom complet d'utilisateurs.
J'ai créé aa classe appelée UserRepository, voir ci-dessous, qui dérive de la Cependant, je continue à obtenir une erreur lorsque je compile Repository générique,:
Repository.GenericRepository < utilisateur> ne contient pas un constructeur qui prend 0 arguments
public class UserRepository : GenericRepository<User>, IUserRepository
{
internal GolfEntities _context;
public UserRepository() : base() { }
public UserRepository(GolfEntities context)
{
_context = context;
}
public string FullName()
{
return "Full Name: Test FullName";
}
}
Est-ce que quelqu'un sait comment résoudre ce problème?
Toute aide serait grandement appréciée.
Merci.
Darin, si je fais ça, je reçois toujours la même erreur ... Repository.GenericRepository < User> ne contient pas un constructeur qui prend 0 arguments – tgriffiths
@tgriffiths, notez-moi d'appeler le constructeur de base dans le constructeur dérivé: 'UserRepository publique (Contexte GolfEntities): base (contexte) '. –
excellente réponse. Je vous remercie. – tgriffiths