2016-09-28 19 views
2

マイグレーションを追加してデータベースを更新しましたが、最後の更新データベース操作でエラーメッセージが表示されました:シーケンスにエンティティフレームワークのコードファーストマイグレーションで複数の要素エラーがあります

あなたは私の移行構成を見ることができますシーケンスは、複数の要素

が含まれています

context.Restraunts.AddOrUpdate(r => r.name, 
      new Restraunt { name = "farzi", city = "a", country = "b" }, 
      new Restraunt { name = "prime", city = "c", country = "d" }, 
       new Restraunt { name = "lord", city = "e", country = "f" }, 
       new Restraunt 
       { 
        name = "barracks", 
        city = "g", 
        country = "h", 
        Reviews = new List<RestrauntReview>{ 
         new RestrauntReview{rating=5,body="good food!",reviewername="vipul"} 
       } 


       }); 

     for (int i = 0; i < 1000; i++) 
     { 
      context.Restraunts.AddOrUpdate(r => r.name, new Restraunt { name = i.ToString(), city = "nowhere", country = "USA" }); 
     } 
    } 
} 

下にも私のモデル定義があります。

public class Restraunt 
{ 
    public int Id { get; set; } 
    public string name { get; set; } 
    public string city { get; set; } 
    public string country { get; set; } 
    public virtual ICollection<RestrauntReview> Reviews { get; set; } 
} 


public class RestrauntReview : IValidatableObject 
{ 
    public int id { get; set; } 

    [Required] 
    [Range(1,10)] 
    public int rating { get; set; } 

    [Required] 
    [StringLength(1024)] 
    public string body { get; set; } 

    [Display(Name="USER NAME")] 
    [DisplayFormat(NullDisplayText="ANONYMOUS")] 
    public string reviewername { get; set; } 
    public int RestrauntID { get; set; } 

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) 
    { 
     if (rating < 2 && reviewername.ToLower().StartsWith("vipul")) 
     { 
      yield return new ValidationResult("sorry vipul... get out!!"); 
     } 
    } 
} 

答えて

0

RestrauntReviewモデルでは、次のように外部キーを定義する必要があります。

[ForeignKey("RestrauntID ")] 
    public virtual Restraunt Restraunt { get; set; } 
    public int RestrauntID { get; set; } 
関連する問題