指定的EntityFramework Schema无效。错误:

时间:2014-11-26 17:26:48

标签: c# entity-framework

订单型号

public partial class Orden
    {
        public Orden()
        {
            this.Orden_Bitacora = new HashSet<Orden_Bitacora>();
        }    
        //Attributes list    
        public virtual ICollection<Orden_Bitacora> Orden_Bitacora { get; set; }
    }

Orden_Bitacora模型

public partial class Orden_Bitacora
    {
        public int IdBitacora { get; set; }
        public int IdOrden { get; set; }

        public virtual Orden Orden { get; set; }
    }

但是当我尝试创建Order时,总是会显示消息:

  

指定的架构无效。错误:

     

关系&#39; OrdenexTModel.FK_Orden_Bitacora_Orden&#39;不是   加载因为类型&OrdenexTModel.Orden&#39;不可用。

模型声明有问题吗?

关系&#39; OrdenexTModel.FK_Orden_Bitacora_Orden&#39;没有加载,因为类型&#39; OrdenexTModel.Orden&#39;不可用。

2 个答案:

答案 0 :(得分:1)

它无法在Ordan上找到主键,因此FK关系不起作用。 将PK添加到Orden

public partial class Orden
{
    public int OrdenId { get; set; }
    public Orden()
    {
        this.Orden_Bitacora = new HashSet<Orden_Bitacora>();
    }    
    //Attributes list    
    public virtual ICollection<Orden_Bitacora> Orden_Bitacora { get; set; }
}

并且您可能需要将[Key]属性添加到您的Orden_Bitacora PK中,因为它不遵循实体框架命名约定

[Key]  
public int IdBitacora { get; set; }

public int Orden_BitacoraId

希望有所帮助

答案 1 :(得分:0)

转到EntityFramework .edmx文件,这将打开一个实体框架,右键单击并从数据库中选择“更新模型”,然后选择okey,因为数据库中所做的更改可能会对其进行更新。