1

私は次の更新方法を持っていますが、これは機能しているようです:

public Folder UpdateFolder(Folder folder)
        {
            Folder serverFolder = _db.Folders.FirstOrDefault(f => f.FolderId == folder.FolderId);
            if (serverFolder != null)
            {
                serverFolder.Title = folder.Title;
                serverFolder.Details = folder.Details;
            }
            SaveChanges();
            return serverFolder;
        }

私が読んだほとんどのUpdateメソッドがEntry.StateDetachedとStateAttachedへの呼び出しを持っていることに気づきました-私が上でやったことは大丈夫ですか、それとも何かが足りませんか?

4

2 に答える 2

0

構いませんよ。 _db.Folders.FirstOrDefaultを読み取り、Folderコンテキストに添付されます。

Folder(読み取りなしで)単に渡して更新しようとした場合は、エンティティがアタッチされているかどうかを確認する必要があります。

基本的にFolder serverFolder = _db.Folders.FirstOrDefault(f => f.FolderId == folder.FolderId);、フォルダが接続されていることを確認して、心配する必要はありません。

于 2013-03-12T02:30:14.707 に答える
0

_db.SaveChanges();私はあなたが代わりにする必要があると思いますSaveChanges();

于 2013-03-12T04:16:59.740 に答える