Atualize um documento no Ravendb
-
25-09-2019 - |
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();
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