我在发现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
。如果您没有创建这些表,那么您将遇到其他问题。