16

GenericRepository öğesinden devralmaya çalışırken bu hata iletisini alıyorum. Hata, ayrıca bir bağlam sağlamam gerektiğini söylüyor ama nasıl emin değilim?Gerekli biçimsel parametre 'GenericRepository <Incident> .GenericRepository (dbContext) içeriğine karşılık gelen bir argüman yoktur.

//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>(); 
} 

DÜZENLEME:

Sadece bu kavradı sonra kontrol edilir?

public class IncidentRepository: GenericRepository<Incident> 
    { 

    public IncidentRepository(db_SLee_FYPContext context) 
    { 
     this.context = context; 
    } 

    //Then in my genric repository 
    public GenericRepository() 
    { 

    } 
+0

benim Olayı depodaki varsayılan bir kurucu gereken tek gerektiğini ama hala bu hatayı alıyorum alan yapıcıya içermiyor olacaktır. – ASPCoder1450

cevap

28

Hata, uygun bir temel kurucu aramayacağını size bildirir.

public IncidentRepository(db_SLee_FYPContext context) 
    : base() 
{ 
    this.context = context; 
} 

Ancak hiçbir parametresiz temel kurucu vardır: türetilmiş sınıftaki yapıcı ...

public IncidentRepository(db_SLee_FYPContext context) 
{ 
    this.context = context; 
} 

... Bunu yaparken aslında.

Sen eşleşen temel kurucu arayarak bu saptamak gerekir: Baz tipinde tek yapıcı varsa C# 6'da

public IncidentRepository(db_SLee_FYPContext context) 
    : base(context) 
{ } 

bu mesajı alır, bu nedenle size hangi argüman mümkün olan en iyi ipucu verir Temel kurucuda eksik. C# 5'te mesaj basitçe

GenericRepository 0 argümanları

+0

Açıkladı. – goamn

+0

Güzel cevap; Sorunun (ve düzeltmenin) kaynağının daha açık olacağı için hata mesajının (bu sorunun başlığında görüldüğü gibi) "yapıcı" kelimesini kullanmasını diliyorum. –