プロジェクトテンプレートを使用してMVCでEntity Frameworkを使用する方法を学び始めましたが、問題が発生しました。私のHomeControllerでは、以下のメソッドGenerateContractorCustomerを作成しました。このメソッドは、作成した新しいモデルでデータベースのデフォルトASPNetUserテーブルを上書きするようです。MVCコンテキスト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を呼び出して、それは嫌な人のASPNetUserテーブルを削除しませんか?
テーブルを上書きすると言いますが、テーブルを「削除」します。実際に何が起こっているのかをより正確にしてください。 – Dai
投稿したコードには、DBスキーマをまったく変更しないようなものはありません。あなたが投稿していないコードで何かが起こっています。 – Dai
@Daiデータベーステーブルを見ていて、メソッドを呼び出す前に、テーブルにすべてのASPNetUserテーブルが含まれていますが、呼び出された後、それらはなくなり、ContractorテーブルとCustomerテーブルが作成されました。 –