我的绑定有什么问题?
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IBaseRepository<User>>().To<UserRepository>();
}
我的IBaseRepository
public interface IBaseRepository<TEntity> where TEntity : class
{
void Commit();
void Delete(TEntity entity);
void Delete(object id);
void Dispose();
IQueryable<TEntity> GetAll();
IQueryable<TEntity> GetAll(object filter);
TEntity GetById(object id);
TEntity GetFullObject(object id);
IQueryable<TEntity> GetPaged(int top = 20, int skip = 0, object orderBy = null, object filter = null);
void Insert(TEntity entity);
void Update(TEntity entity);
}
我的UserRepository
public class UserRepository : BaseRepository<User>
{
public UserRepository(DataContext context) : base(context)
{
if(context == null)
throw new ArgumentNullException();
}
}
这是我回忆的错误 激活IBaseRepository {Role}时出错 没有匹配的绑定可用,并且该类型不可自绑定。 激活路径: 2)将依赖关系IBaseRepository {Role}注入UsersController类型的构造函数的参数角色 1)对UsersController的请求
答案 0 :(得分:2)
您的异常消息明确指出缺少IBaseRepository<Role>
的绑定。 角色不是用户。
所以添加
kernel.Bind<IBaseRepository<Role>>().To<RoleRepository>();
应该有所帮助! ; - )