排除要迁移的属性

时间:2018-08-23 09:03:24

标签: .net entity-framework-core ef-migrations

我的模型上具有属性,我不想在迁移后在中生成字段。

是否可以排除 properties 用于Entity Framework Core迁移?

我的DbContext上是否有模型的属性或某些Fluent API方法?

2 个答案:

答案 0 :(得分:2)

您应该可以在属性上方将[NotMapped]指定为数据注释。

例如如果您想在模型中包含FullNameFirstName的{​​{1}},则可以执行以下操作:

LastName

答案 1 :(得分:1)

使用Ignore方法来指定将以下FullName类中的自动实现的Contact属性从映射中排除:

public class SampleContext : DbContext
{
    public DbSet<Contact> Contacts { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Contact>().Ignore(c => c.FullName);
    }
}

public class Contact
{
    public int ContactId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName => $"{FirstName} {LastName}";
    public string Email { get; set; } 
}

注意:与{ignore方法相同的数据注释是NotMapped属性。