我創建了一個數據庫上下文。我想刪除表格AspNetUsers
中的一些列,例如PhoneNumber
,PhoneNumberConfirmed
,因爲它在我的應用程序中不是必需的。從AspNetUsers中刪除列
namespace TestTest.Infrastuctures
{
public class TestContext:IdentityDbContext<ApplicationUser>
{
public TestContext()
: base("TestContext")
{
}
public static TestContext Create()
{
return new TestContext();
}
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Product> Products { get; set; }
}
public class ApplicationUserEntityTypeConfiguration : EntityTypeConfiguration<ApplicationUser>
{
public ApplicationUserEntityTypeConfiguration()
{
Ignore(p => p.PhoneNumber);
Ignore(p => p.PhoneNumberConfirmed);
Ignore(p => p.EmailConfirmed);
Ignore(p => p.TwoFactorEnabled);
}
}
}
歡迎任何幫助或建議。
更新
此代碼解決我的問題:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var user = modelBuilder.Entity<ApplicationUser>();
user.Ignore(u => u.EmailConfirmed);
user.Ignore(u => u.PhoneNumber);
user.Ignore(u => u.PhoneNumberConfirmed);
var identityUserRole = modelBuilder.Entity<IdentityUserRole>();
identityUserRole.HasKey(r => new { r.UserId, r.RoleId });
var identityUserLogin = modelBuilder.Entity<IdentityUserLogin>();
identityUserLogin.HasKey(l => new { l.LoginProvider, l.ProviderKey, l.UserId });
var claims = modelBuilder.Entity<IdentityUserClaim>();
}
你的更新基本上是我的答案所說的。 – DavidG