У меня есть Generic Repository класс, смотрите ниже, который используется для выполнения функций доступа к общим данным, то есть добавить, GetByID и т.д.класса, полученный из родового Repository
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);
}
Я хотел бы создать еще один класс Repository который происходит из этого класса Generic Repository, чтобы я мог выполнять другие функции, которые не относятся к классу Generic Repository, например, получить полное имя пользователя.
Я создал аа класса под названием UserRepository, см ниже, вытекающий из родового хранилища, однако, я получаю сообщение об ошибке при компиляции:
< Repository.GenericRepository пользователя> не содержит конструктор, который принимает 0 аргументы
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";
}
}
Кто-нибудь знает, как это исправить?
Любая помощь будет высоко оценена.
Спасибо.
Дарин, если я сделаю это, я все еще получаю ту же ошибку ... Repository.GenericRepository < User> не содержит конструктор, который принимает аргументы 0 – tgriffiths
@tgriffiths, заметьте, я зову базовый конструктор в производном конструктор: 'общественного UserRepository (Контекст GolfEntities): base (context) '. –
отличный ответ. Спасибо. – tgriffiths