Pergunta

Estou usando asp.net mvc2.

Eu tenho um 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 atualizar um documento de departamento existente através do meu controlador? Minha ação de edição é definida como

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

resposta declarada aqui diz que há um PATCH comando para atualizar um documento. Mas eu não encontrei isso em IDocumentSession aula na API do cliente de Raven

Eu não quero primeiro obter o documento e depois atualizá -lo como ele é feito no exemplo mvcmusicstore de Ravendb

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

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

Solução

Você precisa usar o código assim:

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

Ver este tópico no grupo de discussão para mais informações

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top