我有 asp.net web api 应用程序。我在数据库中有一个表 Companies,它有两个字段:id 和 description。最近我更新了数据库并添加了一个名为 CustomerID 的新列。之后,当我试图打电话给 getCompanies
private readonly BackendContext _context;
public CompaniesController(BackendContext context)
{
_context = context;
}
// GET: api/Companies
[HttpGet]
public IEnumerable<Company> GetCompanies()
{
return _context.Companies;
}
我明白了
我认为控制器试图返回旧的公司模型但无法实现它,因为它现在不存在但我不知道如何解决这个问题,尽管控制器应该返回更新的模型。也许我应该以某种方式重建应用程序以使其使用更新版本?
附加代码:上下文
public class BackendContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<IdentityUser>//DbContext
{
public BackendContext(DbContextOptions<BackendContext> options) : base(options) { }
public DbSet<Company> Companies { get; set; }
public DbSet<CompanyToProduct> CompanyToProducts { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<Vendor> Vendors { get; set; }
public DbSet<VendorToProduct> VendorToProducts { get; set; }
public DbSet<Invoice> Invoices { get; set; }
public DbSet<InvoiceItem> InvoiceItems { get; set; }
}
模型
public class Company
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int CustomerID { get; set; }
public virtual Customer Customer { get; set; }
public virtual ICollection<CompanyToProduct> CompaniesToProducts { get; set; }
public virtual ICollection<Invoice> Invoices { get; set; }
}
更新我在表中添加了一些值,我得到了第一家公司的回应:
[{"id":1,"name":"Google","description":"free food","customerID":6,"customer":null,"companiesToProducts":null,"invoices":null}
但我也得到了表中未指定的字段:客户、companyToProducts、发票。Invoices 和 CompaniesToProducts 是我数据库中的表,我不知道客户指的是什么。我还应该提到这些表是通过外键连接的。