【问题标题】:EntityFramework Schema specified is not valid. Errors:指定的 EntityFramework 架构无效。错误:
【发布时间】:2014-11-26 17:26:47
【问题描述】:

订单模式

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 时,总是向我显示消息:

指定的架构无效。错误:

关系“OrdenexTModel.FK_Orden_Bitacora_Orden”不是 加载,因为类型 'OrdenexTModel.Orden' 不可用。

模型声明有问题?

关系“OrdenexTModel.FK_Orden_Bitacora_Orden”未加载,因为类型“OrdenexTModel.Orden”不可用。

【问题讨论】:

    标签: c# entity-framework


    【解决方案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
    

    希望有帮助

    【讨论】:

      【解决方案2】:

      转到 EntityFramework .edmx 文件,该文件将打开一个实体框架,右键单击并选择从数据库中更新模型,选择 okey 它将得到更新,因为数据库中可能已经完成了更改。

      【讨论】:

        猜你喜欢
        • 2015-12-07
        • 1970-01-01
        • 1970-01-01
        • 2013-05-11
        • 1970-01-01
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多