忽略继承的属性EF6

时间:2018-02-26 08:34:56

标签: c# asp.net-mvc oracle entity-framework

TB_R_LEAVE_Configuration

public class TB_R_LEAVE_REQ_ID_Configuration : DataUseLogConfiguration<Entities.TB_R_LEAVE_REQ_ID>
{
    public TB_R_LEAVE_REQ_ID_Configuration()
    {
        ToTable("TB_R_LEAVE_REQ_ID");

        HasKey(e => e.LEAVE_REQ_ID);
        HasRequired<TB_R_LEAVE_REQ>(e => e.TB_R_LEAVE_REQ);            

        Property(e => e.LEAVE_REQ_ID).HasColumnName("LEAVE_REQ_ID").HasMaxLength(10);
        Property(e => e.LEAVE_ID).HasColumnName("LEAVE_ID").HasMaxLength(5);
    }
}

DataUseLogConfiguration(抽象基类)

public abstract class DataUseLogConfiguration<T> : EntityTypeConfiguration<T> where T : DataUseLog
{
    public DataUseLogConfiguration()
    {
        Property(e => e.CREATED_BY).HasColumnName("CREATED_BY").HasMaxLength(5).IsRequired();
        Property(e => e.CREATED_DT).HasColumnName("CREATED_DT").IsRequired();
        Property(e => e.UPDATED_BY).HasColumnName("UPDATED_BY").HasMaxLength(5).IsOptional();
        Property(e => e.UPDATED_DT).HasColumnName("UPDATED_DT").IsOptional();
    }
}

我想忽略所有DataUseLogConfiguration属性

  1. 我尝试在TB_R_LEAVE_Configuration上使用Ignore:

    Ignore(e => e.UPDATED_BY);

  2. 并且发生了这种情况:

      

    “属性'UPDATED_BY'不是类型的声明属性   'TB_R_LEAVE_REQ_ID'。验证该属性尚未明确   通过使用Ignore方法或从模型中排除   NotMappedAttribute数据注释。确保它是有效的   原始财产。“

    1. 不忽略这种情况:
    2.   

      “ORA-00904:\”Extent2 \“。\”UPDATED_BY \“:无效的标识符”

      数据模型也使用继承的基类

      public class TB_R_LEAVE_REQ_ID : DataUseLog
      {
          public string LEAVE_REQ_ID { get; set; }
          public string LEAVE_ID { get; set; }
      
          public virtual TB_M_LEAVE TB_M_LEAVE { get; set; }
          public virtual TB_R_LEAVE_REQ TB_R_LEAVE_REQ { get; set; }
      }
      

      如何在TB_R_LEAVE_Configuration上使用流畅的API正确忽略基类上的属性(我尽量避免更改数据模型)

0 个答案:

没有答案