none
EF5 Fluent API RRS feed

  • Discussão Geral

  •   Bom dia!

     Estou fazendo um mapeamento de classes com propriedades parecidas. Fiz o mapeamento e funcionou, porém quando eu tento herdar de uma classe abstrata tenho o seguinte erro:

    Schema specified is not valid. Errors: 
    (738,6) : error 0040: Type ProcessoCronograma_Log_Documento is not defined in namespace GIS.Infra.RepositorioEF (Alias=Self).

    A classe base:

        public abstract class ProcessoCronograma_Base
        {
            public virtual Guid ID { get; protected set; }
            protected ProcessoCronograma_Base()
            {
                this.ID = Guid.NewGuid();
            }
        
            public virtual Guid ProcessoID { get; set; }
            public virtual DateTime DataPrevisao { get; set; }
            public virtual DateTime DataRealizacao { get; set; }
            public virtual Guid JustificativaReplanejamentoID { get; set; }
            public virtual Guid JustificativaAtrasoID { get; set; }
            public virtual string Observacoes { get; set; }
            public virtual bool Manual { get; set; }
            public virtual DateTime DataCriacao { get; set; }
            public virtual DateTime DataAtualizacao { get; set; }
            public virtual string CriadoPor { get; set; }
            public virtual string AtualizadoPor { get; set; }
    
            public virtual ICollection<ProcessoCronograma_Log> Logs { get; set; }
    
        }

    Abaixo a classe que gostaria de herdar da classe abstrata:

        public class ProcessoCronograma_Documento : ProcessoCronograma_Base
        {
            public virtual Guid ProcessoID { get; set; }
            public virtual DateTime DataPrevisao { get; set; }
            public virtual DateTime DataRealizacao { get; set; }
            public virtual Guid JustificativaReplanejamentoID { get; set; }
            public virtual Guid JustificativaAtrasoID { get; set; }
            public virtual string Observacoes { get; set; }
            public virtual bool Manual { get; set; }
            public virtual DateTime DataCriacao { get; set; }
            public virtual DateTime DataAtualizacao { get; set; }
            public virtual string CriadoPor { get; set; }
            public virtual string AtualizadoPor { get; set; }
    
            public virtual ICollection<ProcessoCronograma_Log> Logs { get; set; }
    
    
            public virtual int Kit { get; set; }
          
        }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using GIS.Dominio.Comum;
    
    namespace GIS.Dominio.Modelos.LOG
    {
        public class ProcessoCronograma_Log : EntidadeBase
        {
            //public virtual Guid LogID { get; set; }
            public virtual Guid ProcessoID { get; set; }
            public virtual bool VR { get; set; }
            public virtual string Motivo { get; set; }
            public virtual bool ExisteTeste { get; set; }
            public virtual bool ExisteAmostra { get; set; }
            public virtual bool ExisteSubmissao { get; set; }
    
            public virtual int DiasParaExecucaoLaboratorio { get; set; }
            public virtual int DiasParaExecucao { get; set; }
            public virtual int DiasParaExecucaoAdministracao { get; set; }
            public virtual int DiasParaExecucaoEngenharia { get; set; }
            public virtual int FaseAtualProcesso { get; set; }
    
            public virtual Guid PrevisaoDocumentoID { get; set; }
    
            public virtual DateTime DataCriacao { get; set; }
            public virtual DateTime DataAtualizacao { get; set; }
            public virtual string CriadoPor { get; set; }
            public virtual string AtualizadoPor { get; set; }
    
            public virtual ProcessoCronograma_Documento Documento { get; set; }
    
        }
    }
    

    Na configuração está deste modo:

      protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Configurations.Add(new ProcessoCronograma_DocumentoConfig());
                modelBuilder.Configurations.Add(new ProcessoCronograma_LogConfig());
    
    
                //Documento
                modelBuilder.Entity<ProcessoCronograma_Log>()
                    .HasRequired(c => c.Documento)
                    .WithMany(p => p.Logs)
                    .HasForeignKey(p => p.PrevisaoDocumentoID);
    }

    Alguém tem alguma idéia?

    quinta-feira, 7 de janeiro de 2016 10:24