0

アプリケーションで EF を使用しています。

エンティティを追加して保存したい。

アプリケーションで新しいエンティティ オブジェクトを作成し、それを DB に追加することができました。

ここで、既存のエンティティを更新したいと考えています。

DBから既存のエンティティを取得しましたが、

UIで提示した

そして今、私はユーザーの変更を反映したいと考えています。

DB からエンティティを再度取得し、そのプロパティに値を 1 つずつ割り当てる必要がありますか?

新しいエンティティを作成して、これを DB に保存しようとしました。エラーは表示されませんでしたが、DBには反映されませんでした。

4

1 に答える 1

0

modelモデル オブジェクトを投稿するフォームと、動作中のデータベース コンテキストを持つコントローラーがあると仮定する_contextと、次のコードを使用して既存のエンティティを変更できます (プロパティは異なる場合があります)。

[HttpPost]
public ActionResult SubmitForm(MyViewModel model)
{
    // Retrieve existing object
    var someObject = _context.Resources.OfType<MyEntityType>.Where
        (o => o.Id == model.Id).SingleOrDefault;

    // Assign new values to entity
    someObject.SomeProperty = model.SomeProperty;
    someObject.SomeOtherProperty = model.SomeOtherProperty;

    // Commit
    _context.SaveChanges();
}

更新: または、既存のオブジェクトの代わりに新しいオブジェクトをアタッチする方法の詳細については、この回答を参照してください。

于 2013-04-17T14:47:43.717 に答える