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

时间:2016-02-05 13:27:19

标签: c# entity-framework

我需要从我使用实体框架创建的表中获取数据。现在,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;组; }

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

1 个答案:

答案 0 :(得分:0)

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