Pregunta

Estoy utilizando asp.net MVC2.

I tiene un modelo definido como

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; }
    }

Como actualizar un documento de departamento existente a través de mi controlador? mi acción de edición se define como

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

aquí dice hay un comando PATCH para actualizar un documento. Pero yo no he encontrado esto en clase IDocumentSession en la API de cliente de Raven

No quiero que obtener primero el documento y luego actualizarlo al igual que la forma en que se lleva a cabo en el ejemplo de MVCMusicStore RavenDB

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

            UpdateModel(albumModel, "Album");
            session.SaveChanges();
¿Fue útil?

Solución

Es necesario utilizar código como este:

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

este hilo en el grupo de discusión para más info

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top