質問

私はasp.net MVC2を使用しています。

私は

のように定義されたモデルを持っています
public class Department
    {
        [ScaffoldColumn(false)]
        public object Id { get; set; }

        [Required(ErrorMessage = "Department Name is required")]
        [StringLength(25)]
        [DisplayName("Department Name")]
        public string Name { get; set; }

        [DefaultValue(true)]
        [DisplayName("Active?")]        
        public bool Active { get; set; }
    }

私のコントローラを介して既存の部門のドキュメントを更新するには? 私の編集アクションは次のように定義された

[HttpPost]
public ActionResult Edit(string id, Department department)
{
..
}

ここhref="https://stackoverflow.com/questions/3117966/updating-documents-in-ravendb"> のドキュメントを更新するPATCHコマンドがあります伝えます。 しかし、私はレイヴンのクライアントAPIでIDocumentSessionクラスでこれを見つけることができませんでした。

私は、最初の文書を入手し、それがRavenDBのMVCMusicStore例で行われている方法のようにそれを更新する必要はありません。

var albumModel = session.Load<Album>(id);
            //Save Album

            UpdateModel(albumModel, "Album");
            session.SaveChanges();
役に立ちましたか?

解決

あなたはこのようなコードを使用する必要があります:

DocumentStore.DatabaseCommands.Batch(
  new PatchCommandData{
        Key = "users/15",
        Patches = new [] {
            Type = "Set",
            Name = "Email",
            Value = "Ayende"
        }
   }
); 

より多くのためのディスカッショングループにこのスレッドを参照してください。情報

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top