尝试使用 services.AddScoped 注入时出错
Error while trying to inject with services.AddScoped
我正在构建一个 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、依赖注入等方面的新手,所以这可能是一个简单的修复
我正在构建一个 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、依赖注入等方面的新手,所以这可能是一个简单的修复