I have a SQL Server database and have the mapping classes automatically generated from the existing database. However, when I run the application, it gives the following error:
(404,10): error 3015: Problem in mapping fragments starting at lines 46, 404: Foreign key constraint 'PROCESS_EMPRESA_ORDEM_SERVICO' from table ORDEM_SERVICO (COD_EMPRESA, COD_PROCESSO) to table PROCESS_EMPRESA (COD_PROCESSO, COD_EMPRESA): Insufficient mapping: Foreign key must be mapped to some AssociationSet or EntitySets participating in a foreign key association on the conceptual side.
The classes ORDER_SERVIC and PROCESS_EMPRESSA below:
public partial class ORDEM_SERVICO
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public ORDEM_SERVICO()
{
FALTA_PECA = new HashSet<FALTA_PECA>();
MENSAGEM = new HashSet<MENSAGEM>();
ORDEM_SERVICO_ACESSOS = new HashSet<ORDEM_SERVICO_ACESSOS>();
ORDEM_SERVICO_HISTORICO = new HashSet<ORDEM_SERVICO_HISTORICO>();
ORDEM_SERVICO_HISTORICO_REPLANEJAMENTO = new HashSet<ORDEM_SERVICO_HISTORICO_REPLANEJAMENTO>();
}
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int COD_EMPRESA { get; set; }
[Key]
[Column(Order = 1)]
public DateTime DAT_INCLUSAO { get; set; }
[Key]
[Column(Order = 2)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int COD_USUARIO_CADASTRO { get; set; }
[StringLength(15)]
public string NUM_OS { get; set; }
[StringLength(20)]
public string DSC_NRO_DOCUMENTO_CLIENTE { get; set; }
public int COD_PROCESSO { get; set; }
public int? IND_SITUACAO { get; set; }
[StringLength(1)]
public string IND_TIPO_OS { get; set; }
[StringLength(1)]
public string IND_TIPO_SERVICO { get; set; }
public int? COD_ETAPA_ATUAL { get; set; }
public int? COD_ETAPA_ATUAL_SITUACAO { get; set; }
public int? COD_IMPEDIMENTO_ATUAL { get; set; }
public int? COD_SEGURADORA { get; set; }
public DateTime? DAT_ENTRADA { get; set; }
public DateTime? DATA_AUTORIZACAO { get; set; }
public int? DIAS_PREVISAO_SAIDA { get; set; }
public DateTime? DAT_PREVISAO_SAIDA { get; set; }
public DateTime? DAT_SAIDA { get; set; }
public int? COD_CONSULTOR { get; set; }
[Column(TypeName = "text")]
public string DSC_PENDENCIA_CADASTRO { get; set; }
public DateTime? DAT_ALTERACAO { get; set; }
[StringLength(1)]
public string IND_ATIVO { get; set; }
[StringLength(31)]
public string COD_OS { get; set; }
public DateTime? DAT_SINCRONISMO { get; set; }
public int? COD_MOTIVO_ATRASO { get; set; }
[StringLength(2)]
public string IND_SITUACAO_ENTREGA { get; set; }
[StringLength(1)]
public string TIPO_SEGURADORA { get; set; }
[Column(TypeName = "money")]
public decimal? VALOR_FRANQUIA { get; set; }
[StringLength(20)]
public string NUM_SINISTRO { get; set; }
[StringLength(100)]
public string NOME_CORRETOR { get; set; }
public virtual CLIENTE CLIENTE { get; set; }
public virtual CONSULTOR CONSULTOR { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<FALTA_PECA> FALTA_PECA { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<MENSAGEM> MENSAGEM { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ORDEM_SERVICO_ACESSOS> ORDEM_SERVICO_ACESSOS { get; set; }
public virtual ORDEM_SERVICO_CRM_PERIODICIDADE_RETORNO_CLIENTE ORDEM_SERVICO_CRM_PERIODICIDADE_RETORNO_CLIENTE { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ORDEM_SERVICO_HISTORICO> ORDEM_SERVICO_HISTORICO { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ORDEM_SERVICO_HISTORICO_REPLANEJAMENTO> ORDEM_SERVICO_HISTORICO_REPLANEJAMENTO { get; set; }
[ForeignKey("COD_PROCESSO, COD_EMPRESA")]
public virtual PROCESSO_EMPRESA PROCESSO_EMPRESA { get; set; }
public virtual PROCESSO_ETAPA PROCESSO_ETAPA { get; set; }
public virtual PROCESSO_ETAPA PROCESSO_ETAPA1 { get; set; }
public virtual PROCESSO_IMPEDIMENTO PROCESSO_IMPEDIMENTO { get; set; }
public virtual SEGURADORA SEGURADORA { get; set; }
public virtual TIPO_SERVICO TIPO_SERVICO { get; set; }
public virtual USUARIO USUARIO { get; set; }
public virtual ORDEM_SERVICO_VEICULO ORDEM_SERVICO_VEICULO { get; set; }
}
public partial class PROCESSO_EMPRESA
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public PROCESSO_EMPRESA()
{
ORDEM_SERVICO = new HashSet<ORDEM_SERVICO>();
PAINEL_CONTROLE = new HashSet<PAINEL_CONTROLE>();
PROCESSO_ETAPA_EMPRESA_SLA = new HashSet<PROCESSO_ETAPA_EMPRESA_SLA>();
PROCESSO_IMPEDIMENTO_EMPRESA_SLA = new HashSet<PROCESSO_IMPEDIMENTO_EMPRESA_SLA>();
PROCESSO_SITUACAO_DATA_OS_EMPRESA_SLA = new HashSet<PROCESSO_SITUACAO_DATA_OS_EMPRESA_SLA>();
}
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int COD_PROCESSO { get; set; }
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int COD_EMPRESA { get; set; }
public DateTime? DAT_INCLUSAO { get; set; }
public DateTime? DAT_ALTERACAO { get; set; }
[StringLength(1)]
public string IND_ATIVO { get; set; }
public virtual EMPRESA EMPRESA { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ORDEM_SERVICO> ORDEM_SERVICO { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PAINEL_CONTROLE> PAINEL_CONTROLE { get; set; }
public virtual PROCESSO PROCESSO { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PROCESSO_ETAPA_EMPRESA_SLA> PROCESSO_ETAPA_EMPRESA_SLA { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PROCESSO_IMPEDIMENTO_EMPRESA_SLA> PROCESSO_IMPEDIMENTO_EMPRESA_SLA { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<PROCESSO_SITUACAO_DATA_OS_EMPRESA_SLA> PROCESSO_SITUACAO_DATA_OS_EMPRESA_SLA { get; set; }
}
Remembering that the bank already exists and I can not modify it.