我正在构建WarehouseApi,但是当我尝试注入服务时会给我一个错误(CS0119)
public static IServiceCollection AddServices(this IServiceCollection services)
{
services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
services.AddScoped(IEmployeeRepository, EmployeeRepository); //CS0119
return services;
}
错误描述:EmployeeRepository'是一种类型,在给定的上下文中无效,而IEmployeeRepository'是一种类型,在给定的上下文中无效
这是IEmployeeRepository和EmployeeRepository:
public interface IEmployeeRepository : IRepository<Employee>
{
Employee GetFirstOrDefaultByFirstName(string firstNameToFind);
Employee GetFirstOrDefaultByLastName(string lastNameToFind);
Employee GetFirstOrDefaultbByAge(int ageToFind);
Employee GetByEmail(string emailToFind);
Employee GetByAddress(string addressToFind);
Employee GetByPhoneNumber(string phoneNumberToFind);
}
public class EmployeeRepository : Repository<Employee>, IEmployeeRepository
{
public EmployeeRepository(WareHouseDBContext empContext) : base(empContext) { }
public Employee GetByAddress(string addressToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.Address == addressToFind);
}
public Employee GetByEmail(string emailToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.Email == emailToFind);
}
public Employee GetByPhoneNumber(string phoneNumberToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.PhoneNumber == phoneNumberToFind);
}
public Employee GetFirstOrDefaultbByAge(int ageToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.Age == ageToFind);
}
public Employee GetFirstOrDefaultByFirstName(string firstNameToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.FirstName == firstNameToFind);
}
public Employee GetFirstOrDefaultByLastName(string lastNameToFind)
{
return context.Set<Employee>().FirstOrDefault(x => x.LastName == lastNameToFind);
}
}
我是API,依赖注入等的新手,所以这可能很容易解决
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句