2017-01-18 6 views
-1

データベースにスーパーマーケットを追加しようとしましたが、[作成]をクリックすると、外部キー属性を取得できませんでした。有効なエラーはありません。私は間違って何をしていますか?ForeignKey not valid error

namespace SupermarketDemo.Models 
{ 
    public class Item 
    { 
     [Key] 
     public long Id { get; set; } 

    [Required] 
    public string Name { get; set; } 

    public int Size { get; set; } 

    public double Price { get; set; } 

    [ForeignKey("Market")] 
    public long Supermarket_Id { get; set; } 

    public Market Supermarket { get; set; } 
} 

public class Market 
{ 
    [Key] 
    public long Id { get; set; } 

    [Required] 
    public string Supermarket_Name { get; set; } 
} 
} 
+0

何の値あなたが挿入しようとしていますか?どのようなキーがエラーを出すのですか? – David

答えて

0

外部キー属性は以下のようにそれを変更し、外部キーの名前を入力しないで指している必要があります:[UPDATE]

またはあなたが完全にForeignKeyの属性を削除することができます

[ForeignKey("Supermarket")] 

が、次のような外部キーIDにIdだけを追加して命名規則を検討する必要があります。

public long SupermarketId { get; set; } 
public Market Supermarket { get; set; } 
0

はまた、あなたが外部キーナビゲーションプロパティに仮想追加すべきである場合があります。

// Navigation property 
public virtual Market Supermarket { get; set; } 

このリンクあなたを助けるかもしれない:Entity Framework Code First Conventions

+0

このリンクでは、ForeignKey属性が必須ではないことがわかります。 – Donald

関連する問題