在我的执行方法中从实体框架表中检索数据

本文关键字:框架 检索 数据 实体 我的 执行 方法 | 更新日期: 2023-09-27 18:33:20

我需要从使用实体框架创建的表中获取数据。现在,Web api 项目负责根据我创建的测试数据生成表。

Web api 项目有一个名为 DAL 的文件夹,其中包含一个 BookingsContext 类。看起来像这样:

public class BookingsContext : DbContext
{
    public BookingsContext() : base("BookingsContext")
    {
    }
    // DbSet to bookings
    public DbSet<Booking> Bookings { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}

如果我在控制器中创建此类的即时,则可以调用 DbSet 方法从数据库中获取预订。

问题是我创建了一个名为GetBookings的类库。它负责从数据库中获取所有预订。

应该从数据库表中获取数据的类是我的GetAllBookingsQuery。

// Generic interface
public interface IQuery<out T>
{
    T Execute();
}
class GetAllBookingsQuery : IQuery<List<Booking>>
{
    // Get a list of bookings from the database.
    public List<Booking> Execute()
    {
        return null;
    }
}

在这里,我无法创建 DbContext 的实例并调用简单的方法 public DbSet Bookings { get; set; }

我应该如何从表中获取数据?

在我的执行方法中从实体框架表中检索数据

应使用 DAL 创建单独的项目,然后在 WebApi 项目和类库中添加对它的引用。