没有可用的匹配绑定,并且该类型不可自绑定。
No matching bindings are available, and the type is not self-bindable.
我的绑定有什么问题?
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
嗯,您的异常消息清楚地表明缺少 IBaseRepository<Role>
的绑定。 角色不是用户。
所以添加
kernel.Bind<IBaseRepository<Role>>().To<RoleRepository>();
应该有帮助! ;-)
我的绑定有什么问题?
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
嗯,您的异常消息清楚地表明缺少 IBaseRepository<Role>
的绑定。 角色不是用户。
所以添加
kernel.Bind<IBaseRepository<Role>>().To<RoleRepository>();
应该有帮助! ;-)