1

Entity を使い始めたばかりですが、これまでのところ、私の生活は非常に楽になりました。ただし、行を更新しようとすると、ここで問題が発生します。グーグルはAttach()、私が試した に私を連れてきました:

public void Update()
{
    using (var context = new HDDCContainer())
    {
        context.Projects.Attach(this);
        context.SaveChanges();
    }
}

これは、私の Project クラスにあるメソッドです。

ただし、データベースにクエリを実行した後、実際には更新されていないことがわかりました。これからエラーや例外は発生しません。ステップスルーすると、プロジェクトに加えた変更が表示されます。

4

2 に答える 2

2

アタッチ後にエンティティに変更を加える必要があります。

例えば

context.Projects.Attach(project);

project.Name = "New Funky Name";

context.SaveChanges();

例のように保存/更新メソッドの外でエンティティが変更されている場合は、状態に手動でフラグを立てる必要がある場合があります。

context.Projects.Attach(project);
DbEntityEntry entry = context.Entry(day);       // Gets the entity Entry instance
entry.Property("Name").IsModified = true;       // Individual property modified
entry.State = System.Data.EntityState.Modified; // or Entire object modified
于 2013-09-16T15:56:43.500 に答える