实体框架6,不能在属性上使用Ignore方法

时间:2015-07-07 20:57:03

标签: c# entity-framework-6 asp.net-identity

目前,我正在使用ASP Identity与MVC 5.我想从AspNetUsers表中删除电话号码字段,但是当我使用add-migration命令时会导致以下错误。

  

您不能在属性'PhoneNumber'上使用Ignore方法   'Models.DbModel.User',因为此类型继承自该类型   'Microsoft.AspNet.Identity.EntityFramework.IdentityUser`

我已经在这里阅读了很多问题,但是他们都说你必须忽略基类中的属性,但是,在这种情况下我没有任何访问权限。

我该如何解决这个问题?

更新:当我在其工作的OnModelCreating方法中使用流畅的API时,我不想这样使用它,所以我将每个实体的config类分开。

以下是我的代码:

派生实体类

public class User: IdentityUser
{
    public  ICollection<Comment> Comments { get; set; }

}  

配置类

public sealed class UserConfig : EntityTypeConfiguration<User>
{
    public UserConfig()
    {
        ToTable("dbo", "Users");
        Ignore(x => x.PhoneNumber);
        Ignore(x => x.PhoneNumberConfirmed);
    }
}  

上下文类

public class WebsiteContext : IdentityDbContext
{
    public WebsiteContext()
        : base("XYZ")
    {
    }

    public DbSet<Comment> Comment { get; set; }
    //public DbSet<User> User { get; set; }

    public static WebsiteContext Create()
    {
        return new WebsiteContext();
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Configurations.Add(new CommentConfig());
        modelBuilder.Configurations.Add(new UserConfig());
    }
}

0 个答案:

没有答案