【发布时间】:2017-03-16 23:20:19
【问题描述】:
我创建了一个数据库上下文。我想删除表AspNetUsers 中的一些列,例如PhoneNumber, PhoneNumberConfirmed 因为在我的应用程序中没有必要。
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);
}
}
}
代码工作正常,但没有删除 AspNetUsers 中的选定列。
欢迎任何帮助或建议。
更新
这段代码解决了我的问题:
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>();
}
【问题讨论】:
-
你的更新基本上就是我的回答。
标签: asp.net-mvc entity-framework