0
我有一個實體,它具有導航屬性的外鍵,但是我從數據庫和模型中刪除了這個外鍵以創建另一個外鍵。現在,實體框架給了我一個錯誤,說我的模型中缺少舊列。實體框架試圖在數據庫上找到已刪除的外鍵
這是我的模型:
public class CompraVenda
{
public CompraVenda()
{
this.Produtos = new HashSet<CompraVendaProdutoGrade>();
}
public long ID_CompraVenda { get; set; }
public long? ID_CondicaoPagamento { get; set; }
public long? ID_Fornecedor { get; set; }
public long? ID_Cliente { get; set; }
public long? ID_Funcionario { get; set; }
public long? ID_Pedido { get; set; }
public string Codigo { get; set; }
public int Tipo { get; set; }
public DateTime DataCadastro { get; set; }
public DateTime DataConfirmacao { get; set; }
public int Status { get; set; }
public string Observacoes { get; set; }
public decimal ValorTotal { get; set; }
public decimal ValorDesconto { get; set; }
public decimal AcrescimoTotal { get; set; }
public decimal ValorFrete { get; set; }
public int TipoDesconto { get; set; }
public int NumeroProdutos { get; set; }
public virtual CondicaoPagamento CondicaoPagamento { get; set; }
public virtual Fornecedor Fornecedor { get; set; }
public virtual Cliente Cliente { get; set; }
public virtual Funcionario Funcionario { get; set; }
public virtual Pedido Pedido { get; set; }
public virtual ICollection<CompraVendaProdutoGrade> Produtos { get; set; }
}
這是映射類:
public class CompraVendaMap : EntityTypeConfiguration<CompraVenda>
{
public CompraVendaMap()
{
this.ToTable("compravenda", "wildesk");
this.HasKey(t => t.ID_CompraVenda);
this.Property(t => t.ID_CompraVenda).HasColumnName("ID_CompraVenda");
this.Property(t => t.ID_Fornecedor).HasColumnName("ID_Fornecedor");
this.Property(t => t.ID_Cliente).HasColumnName("ID_Cliente");
this.Property(t => t.ID_Funcionario).HasColumnName("ID_Funcionario");
this.Property(t => t.ID_Pedido).HasColumnName("ID_Pedido");
this.Property(t => t.ID_CondicaoPagamento).HasColumnName("ID_CondicaoPagamento");
this.Property(t => t.Codigo).HasColumnName("Codigo");
this.Property(t => t.Tipo).HasColumnName("Tipo");
this.Property(t => t.DataCadastro).HasColumnName("DataCadastro");
this.Property(t => t.DataConfirmacao).HasColumnName("DataConfirmacao");
this.Property(t => t.Status).HasColumnName("Status");
this.Property(t => t.Observacoes).HasColumnName("Observacoes");
this.Property(t => t.ValorTotal).HasColumnName("ValorTotal");
this.Property(t => t.ValorDesconto).HasColumnName("ValorDesconto");
this.Property(t => t.AcrescimoTotal).HasColumnName("AcrescimoTotal");
this.Property(t => t.ValorFrete).HasColumnName("ValorFrete");
this.Property(t => t.TipoDesconto).HasColumnName("TipoDesconto");
this.Property(t => t.NumeroProdutos).HasColumnName("NumeroProdutos");
this.HasOptional(t => t.CondicaoPagamento).WithMany(t => t.ComprasVendas).HasForeignKey(t => t.ID_CondicaoPagamento);
this.HasOptional(t => t.Fornecedor).WithMany(t => t.ComprasVendas).HasForeignKey(t => t.ID_Fornecedor);
this.HasOptional(t => t.Cliente).WithMany(t => t.ComprasVendas).HasForeignKey(t => t.ID_Cliente);
this.HasOptional(t => t.Funcionario).WithMany(t => t.ComprasVendas).HasForeignKey(t => t.ID_Funcionario);
this.HasOptional(t => t.Pedido).WithMany(t => t.ComprasVendas).HasForeignKey(t => t.ID_Pedido);
this.HasMany(t => t.Produtos).WithRequired(t => t.CompraVenda).HasForeignKey(t => t.ID_CompraVenda);
}
}
錯誤:
Unknown column 'Extent1.FormaPagamento_ID_FormaPagamento' in 'field list'
我已經清理我的解決方案,重建我的數據庫,沒有什麼作品。
一個人認爲我已經注意到了:如果我評論一個當前屬性是外鍵,EF給了我同樣的錯誤的評論屬性。
EF是否讀取實體模式以在數據庫中查找外鍵?或者,它會讓模型緩存?
在此先感謝。