我首先在.NET4中使用EF6代码(我应该在win xp上交付项目,因此我无法使用.NET4.5对其进行配置)。
我有一个BaseEntity类,所有其他实体都从它继承:
public abstract class BaseEntity
{
public int Id {get; set;}
public int X {get; set;}
public int Y {get; set;}
}
public class Calendar:BaseEntity
{
// properties
}
如果不为每个实体编写以下代码,我如何忽略所有实体中的X,Y属性?
modelBuilder.Entity<Calendar>()
.Ignore(t => t.X)
.Ignore(t => t.Y)
请注意,我无法使用[NotMapped]
属性,因为我使用的是EF6和.NET 4。
答案 0 :(得分:2)
使用EntityTypeConfiguration
代替modelBuilder.Entity<>
:
abstract class BaseEntityMapping : EntityTypeConfiguration<BaseEntity>
{
public BaseEntityMapping()
{
this.Ignore(t => t.X);
this.Ignore(t => t.Y);
}
}
class CalendarMapping : BaseEntityMapping
{
public CalendarMapping()
{
// Specific mappings
}
}
在OnModelCreating
:
modelBuilder.Configurations.Add(new CalendarMapping());