2016-11-10 16 views
0

私はDB内に因子を挿入したいと思います。1から多くのコードを最初に挿入してください

私は2つのクラス

public class Customer 
    { 

     [Key, ForeignKey("Factor")] 
     public int Id { get; set; } 

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

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

     public Gender Gender { get; set; } 

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

     public virtual ICollection<Factor> Factor { get; set; } 

    } 

    public class Factor 
    { 
     public int ID { get; set; } 

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

     public DateTime Date { get; set; } 

     public virtual Customer Customer { get; set; } 

     public virtual ICollection<FactorDetails> FactorDetails { get; set; } 

     public virtual FactorType FactorType { get; set; } 

    } 

を持っていると私はこの2つのクラス、私は新しい要素を追加し、ドロップダウンリストから1人の顧客を選択するビューを作成中

public class CreateFactorViewModel 
{ 
    public Factor Factor { get; set; } 
    public int CustomerId { get; set; } 
} 

のためのモデルビューを作成します。中 は私が顧客ID

public ActionResult Create(CreateFactorViewModel model) 
    { 

     if (ModelState.IsValid) 
     { 
      model.Factor.Customer = new Customer { Id = model.CustomerId }; 

      db.Factors.Add(model.Factor); 

      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     return View(); 
    } 

を考慮したCustomerIdを追加するコントローラを作成するが、私はこのエラー

検証は、1つのまたは複数のエンティティのために失敗に取得します。詳細については、 「EntityValidationErrors」プロパティを参照してください。

このエラーはお客様の属性から発生したものですが、わかりません。 ファクタの基本顧客IDをどのように差し込むことができますか。

お手伝いできますか?

+0

名前の値を指定していません.asの名前が必要です –

+0

はい、私は結構ですが、このシナリオは正しいですか? – mic

+0

誰も私の質問に答えることはできませんか? – mic

答えて

0

、 のほとんどあなたが宣言すべきであなたのを解決することができますこのコード

から

変更クラスのForeignKey

0

独自の

try 
{ 
db.SaveChanges(); //put your DbContext here 
} 
catch (Exception exception) 
{ 
    var sss = exception; //Put a break point here 
} 

今。あなたは、InnerExcetionを検査することで、あなたの問題を見つけるでしょう例外の分析はケースのユーザの質問から

関連する問題