有一个 web api 项目。 在控制器中,我想像这样使用依赖注入:
[ApiController]
public class BookingsController : ControllerBase
{
private readonly InterfaceDbContext _context;
public BookingsController(InterfaceDbContext context)
{
_context = context;
}
// GET: api/<BookingsController>
[HttpGet]
public async Task<IActionResult> Get()
{
var bookings = await _context.Booking.ToListAsync();
return Ok(bookings);
}
但如果我使用依赖注入,我将无法访问 Booking,因为 InterfaceDbContext 不包含该特定的 DbSet/Booking。
我想要获取的 DbSet/Bookings 在一个名为 TvattDbContext 的上下文中,它实现了 InterfaceDbContext(InterfaceDbContext 基本上是空的)。
想了解在 BookingsController 构造函数中使用 InterfaceDbContext 的价值,因为如果我直接使用 TvattDbContext 感觉没有区别?如果我在界面中有 DbSet/Booking 那么为什么不直接在控制器构造函数中使用 TvattDbContext 而跳过界面?