所以我開始學習如何使用項目模板在MVC中使用實體框架,並且遇到了問題。在我的HomeController中,我編寫了下面的方法GenerateContractorCustomer,它在被調用時似乎用我創建的新模型覆蓋了數據庫中的默認ASPNetUser表。MVC Context SaveChanges覆蓋數據庫表
public void GenerateContractorCustomer()
{
using (var context = new ContractorCustomerContext())
{
ContractorModel contractor = new ContractorModel { ContractorID =1, ContractorName ="John"};
context.Contractor.Add(contractor);
context.SaveChanges();
}
}
我創建了一個的DbContext:
public class ContractorCustomerContext : DbContext
{
public ContractorCustomerContext() : base("DefaultConnection") { }
public DbSet<ContractorModel> Contractor { get; set; }
public DbSet<CustomerModel> Customer { get; set; }
而在IdentityModel有默認:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
我的問題是什麼,我需要做的,我的代碼,這樣,當我打電話給GenerateContractorCustomer它不會刪除deafult ASPNetUser表嗎?
你說它「覆蓋」表,但是你說它「刪除」表。請更準確地瞭解實際發生的情況。 – Dai
我注意到,您發佈的代碼中沒有任何內容看起來像它會根本改變數據庫模式。還沒有發佈的代碼中發生了其他事情。 – Dai
@Dai我說覆蓋和刪除,因爲我正在查看數據庫表,並且在調用我的方法之前,表中包含所有ASPNetUser表,但在調用它們後,它們不見了,並創建了Contractor和Customer表。 –