簡體   English   中英

實體框架密鑰未定義

[英]Entity framework key not defined

我有這樣的課

     public class Phone : ItemBase
    {
        public virtual string Model { get; set; }

        public virtual decimal Price { get; set; }

        [ScaffoldColumn(false)]
        public virtual string ImagePath { get; set; }

        public virtual string Network { get; set; }

        [DisplayName("Dimensions")]
        public virtual string BodyDimension { get; set; }
}

和這樣的基類

 public class ItemBase
{
    [ScaffoldColumn(false)]
    [Key]
    public virtual long ItemID;

    [ScaffoldColumn(false)]
    public virtual DateTime CreatedDate { get; set; }

    [ScaffoldColumn(false)]
    public virtual DateTime ModifiedDate { get; set; }
}

密鑰在基類中定義,但EF表示

Phone ::實體類型'Phone'沒有定義鍵。 定義實體類型的鍵。

我應該將關鍵字段移動到Phone類嗎? 什么是最好的解決方案?

  1. 您不需要在ItemId字段上標記虛擬
  2. make ItemId屬性而不是字段。

這樣的事情:

    public class ItemBase
    {
        [ScaffoldColumn(false)]
        [Key]
        public long ItemID {get; set;}

        [ScaffoldColumn(false)]
        public virtual DateTime CreatedDate { get; set; }

        [ScaffoldColumn(false)]
        public virtual DateTime ModifiedDate { get; set; }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM