J'essaie un projet MVC avec un modèle de référentiel et une unité de travail.Impossible de convertir du référentiel en IRepository UOW Repository pattern
Ce qui suit est de mon InitOfWork
public interface IUnitOfWork
{
IRepository<User> UserRepository { get; }
void Save();
}
ce qui est de UnitOfWork
public class UnitOfWork:IUnitOfWork, IDisposable
{
private JNContext context = new JNContext();
private bool disposed = false;
private IRepository<User> userRepository;
public IRepository<User> UserRepository
{
get
{
if (this.userRepository == null)
{
this.userRepository = new Repository<User>(this.context);
}
return this.userRepository;
}
}
public void Save()
{
this.context.SaveChanges();
}}
La ligne suivante dans UnitOfWork génère l'erreur « Impossible de convertir implicitement à partir du référentiel à IRepository
this.userRepository = new Repository<User>(this.context);
Qu'est-ce qui me manque? Je ne trouve pas de réponse et je suis coincé toute la journée.
êtes-vous sûr que Repository implémente IRepository? – wheeler
@wheeler: Non, ce n'était pas le cas. J'avais ** public class Repository où TEntity: class **. Dois-je implémenter ** IRepository **? Est-il possible avec Dependency Injection –
Oui, vous devez implémenter 'IRepository'. dans 'Repository'. Le compilateur ne peut pas le comprendre sans cela. – RedgoodBreaker