我的模型上具有属性,我不想在迁移后在表中生成字段。
是否可以排除 properties 用于Entity Framework Core迁移?
我的DbContext
上是否有模型的属性或某些Fluent API方法?
答案 0 :(得分:2)
您应该可以在属性上方将[NotMapped]
指定为数据注释。
例如如果您想在模型中包含FullName
和FirstName
的{{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
属性。