C# 代码优先实体框架不允许访问表

C# 代码优先实体框架不允许访问表,c#,asp.net,asp.net-mvc,entity-framework,ef-code-first,C#,Asp.net,Asp.net Mvc,Entity Framework,Ef Code First,我试图首先使用代码为asp.net mvc应用程序生成数据库。OrderItem类在数据库中作为OrderItems表生成,但我最终没有任何访问权。我可以做些什么来允许以下操作,例如:db.OrderItems.Findid 模型如下: namespace CustomerOrders.Models{ public class Customer { public virtual int CustomerID { get; set; } public virtual stri

我试图首先使用代码为asp.net mvc应用程序生成数据库。OrderItem类在数据库中作为OrderItems表生成,但我最终没有任何访问权。我可以做些什么来允许以下操作,例如:db.OrderItems.Findid

模型如下:

namespace CustomerOrders.Models{

public class Customer
{

    public virtual int  CustomerID { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
    public virtual string Company { get; set; }
    public virtual string Email { get; set; }
    public virtual string EmailCheck { get; set; }
}

public class Order
{
    public virtual int OrderID { get; set; }
    public virtual int CustomerID { get; set; }
    public virtual DateTime OrderDate { get; set; }
    public virtual double OrderTotal { get; set; }
    public virtual double Tax { get; set; }
    public virtual Customer Customer { get; set; }
    public virtual List<OrderItem> OrderItems { get; set; }
}

public class OrderItem
{
    public virtual int OrderItemID { get; set; }
    public virtual int OrderID { get; set; }
    public virtual int ProductID { get; set; }
    public virtual double PricePerItem { get; set; }
    public virtual double Quantity { get; set; }
    public virtual Product Product { get; set; }
    public Order Order { get; set; }
}

public class Product
{
    public virtual int ProductID { get; set; }
    public virtual string Title { get; set; }
    public virtual string Description { get; set; }
    public virtual double Price { get; set; }
}
}

您的dbContext中可能没有声明,因此打开dbContext并添加以下内容: 公共数据库集OrderItems{get;set;}

您应该以以下方式结束:

public class CustomerOrdersDB : DbContext
{
    public DbSet<Order> Orders { get; set; }

    public DbSet<Customer> Customers { get; set; }

    public DbSet<Product> Products { get; set; }

    public DbSet<OrderItem> OrderItems { get; set; }
}

有什么问题吗?数据库中有数据吗?没有db.OrderItems.Findid;只是抛出一个异常?可能会向代码显示您如何创建dbcontext,以及您如何尝试使用它?OrderItems表不可访问,并且不能在intellisense中显示,所有其他表都可以通过代码作为属性访问。您是否已将其正确添加到dbcontext?正如我所说,请给出实际的代码。。像这样猜测原因是没有用的。