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. Я пробовал использовать Ignore для TB_R_LEAVE_Configuration:

    Ignore(e => e.UPDATED_BY);

И это случилось:

«Свойство UPDATED_BY не является объявленным свойством для типа TB_R_LEAVE_REQ_ID. Убедитесь, что свойство не было явно исключено из модели с помощью метода Ignore или аннотации данных NotMappedAttribute. Убедитесь, что это допустимое примитивное свойство».

  1. Без игнорирования это произойдет:

"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; }
}

Как я правильно игнорирую свойства базового класса, просто используя свободный API на TB_R_LEAVE_Configuration (я пытаюсь избежать изменения модели данных)

0
Tanggon Jodi Ismana 26 Фев 2018 в 11:34

1 ответ

Лучший ответ

Спасибо всем, кто пытается мне помочь, кстати, вот как я решаю это, просто отредактировав TB_R_LEAVE_REQ_ID_Configuration

public class TB_R_LEAVE_REQ_ID_Configuration : EntityTypeConfiguration<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);

        Ignore(e => e.UPDATED_BY);
        Ignore(e => e.UPDATED_DT);
        Ignore(e => e.CREATED_BY);
        Ignore(e => e.CREATED_DT);

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

Обратите внимание, что я изменил наследование на EntityTypeConfiguration, а затем просто добавил игнорирование, как обычно

Надеюсь, это поможет всем в будущем

0
Tanggon Jodi Ismana 27 Фев 2018 в 09:45