GenericRepositoryから継承しようとすると、このエラーメッセージが表示されます。エラーには、コンテキストも提供する必要があると書かれていますが、どのようにしたらいいのかわかりません
//IncidentRepository
public class IncidentRepository : GenericRepository<Incident>
//Generic Repository (to inherit from)
public class GenericRepository<TEntity> where TEntity : class
{
internal db_SLee_FYPContext context;
internal DbSet<TEntity> dbSet;
public GenericRepository(db_SLee_FYPContext context)
{
this.context = context;
this.dbSet = context.Set<TEntity>();
}
編集:
確認するために、これを把握しましたか?
public class IncidentRepository: GenericRepository<Incident>
{
public IncidentRepository(db_SLee_FYPContext context)
{
this.context = context;
}
//Then in my genric repository
public GenericRepository()
{
}
このエラーは、適切なベースコンストラクターを呼び出さないことを示しています。派生クラスのコンストラクター...
public IncidentRepository(db_SLee_FYPContext context)
{
this.context = context;
}
...実際にこれをしています:
public IncidentRepository(db_SLee_FYPContext context)
: base()
{
this.context = context;
}
ただし、パラメーターなしの基本コンストラクターはありません。
一致する基本コンストラクターを呼び出して、これを修正する必要があります。
public IncidentRepository(db_SLee_FYPContext context)
: base(context)
{ }
C#6では、ベースタイプにコンストラクターが1つしかない場合にこのメッセージが表示されるため、ベースコンストラクターのどの引数が欠落しているかについて可能な限り最高のヒントが得られます。 C#5では、メッセージは単に
GenericRepositoryには、引数が0のコンストラクタが含まれていません