控制器 DbContext 依赖注入与 EF

时间:2021-07-14 12:45:28

标签: rest dependency-injection interface entity-framework-core asp.net-core-webapi

有一个 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 而跳过界面?

0 个答案:

没有答案