2009-07-03 9 views
1

エンティティが1つの子を持ち、更新する必要がありますが、TryUpdateModelメソッドでは厳密な型指定されたオブジェクトを受け付けません(FormCollectionのみを受け入れる)。私はそれを更新しようとすると、私は次のエラーが表示されます。エンティティフレームワーク - 子プロパティを持つエンティティを更新する

は、{「関係がカーディナリティー制約を、対応する 『SG_Usuario』はまた、追加または削除されなければならない。AssociationSet 『FK__SG_Usuari__ID_Si__534D60F1』から追加または削除されている。」}

問題は、私はできないことですformcollectionの子プロパティをロードします。オブジェクト全体ではなくIDだけをロードします。

+0

問題が発生するコードを表示するか、実行時または設計時に発生するかどうかを示し、すべてのInnerExceptionおよびスタックトレースを使用して完全な例外を通知してください。 ex.ToString()の結果を投稿する –

答えて

0

「作成」文はこのようなものですあなたは直接エンティティフレームワークにモデルから更新をクリックすることができますし、それが自動的にすべての関係

0

でenittyを更新します:

public ActionResult Edit(FormCollection form) 
    { 

     Usuario usuario = new Usuario 
      { 
       NomeUsuario = form["Usuario.NomeUsuario"], 
       IdeUsuario = form["Usuario.IdeUsuario"], 
       NumRegistroRM = form["Usuario.NumRegistroRM"], 
       SenUsuario = form["Usuario.SenUsuario"], 
       SituacaoUsuario = this.SituacaoUsuarioService.GetSituacaoUsuario(x => x.ID_SituacaoUsuario == Convert.ToInt32(form["Usuario.SituacaoUsuario"]// note that i have to retrieive the entire object... the "child" 

      }; 

     this.UsuarioService.AddUsuario(usuario); 
    } 

編集文がなければなりませんこのように:

TryUpdateModel(a, "Usuario", this.GetUsuarioWhiteList(), form.ToValueProvider()); // but the form contains only the id and I can't load the child in it nor pass the object. 
0

私は最近、同じ問題を持っていた私は、CHで私の外部キーのカーディナリティ比を変更したとき、私はそれを解決するために管理しました1:many to 0..1:Entity Designerで多くのテーブルが作成され、正常に動作しました。

関連する問題