我在发现warwars.dbo异常时使用了“ Entity Framework DbContext”。这很奇怪,因为我一直在我的网站上询问towar.dbo,但没有询问towars.dbo。您知道哪里出问题了吗?

- InnerException    {"Invalid object name 'dbo.Towars'."}   System.Exception {System.Data.SqlClient.SqlException}


关于Towar的所有事情(当然在我的程序中是不同的地方):

public class ProductController : Controller
{
    //
    // GET: /Product/
        public ITowarRepository repository;

        public ProductController(ITowarRepository productRepository)
        {
        repository = productRepository;
        }

        public ViewResult List()
        {
            return View(repository.Towar);
        }

}


public interface ITowarRepository
    {
        IQueryable<Towar> Towar { get; }
    }

public DbSet<Towar> Towar { get; set; }

public class EFTowarRepository : ITowarRepository
    {
        public EFDbContext context = new EFDbContext();
        public IQueryable<Towar> Towar
        {
            get { return context.Towar; }
        }
    }
public class Towar
    {
        [Key]
        public int Id_tow { get; set; }
        public string Nazwa { get; set; }
        public string Opis { get; set; }
        public decimal Cena { get; set; }
        public int Id_kat { get; set; }
    }

最佳答案

您可以使用流利的API覆盖Towar类中的OnModelCreating方法,告诉EF映射到表DBContext,如下所示:

public class EFDbContext : DbContext
{
   protected override void OnModelCreating(DbModelBuilder modelBuilder)
   {
      modelBuilder.Entity<Towar>().ToTable("Towar");
   }
}


现在,EF将查找Towar表而不是Towars。如果您没有创建这些表,那么您将遇到其他问题。

10-07 22:45