Mettre à jour un document dans RavenDB
-
25-09-2019 - |
Question
J'utilise MVC2 de asp.net.
J'ai un modèle défini comme
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; }
}
Comment mettre à jour un document de service existant par mon contrôleur? mon action d'édition est défini comme
[HttpPost]
public ActionResult Edit(string id, Department department)
{
..
}
dit qu'il ya une commande PATCH
de mettre à jour un document.
Mais je ne trouve pas en classe IDocumentSession
dans l'API client Raven
Je ne veux pas d'abord obtenir le document, puis le mettre à jour comme la façon dont cela est fait dans l'exemple MVCMusicStore de RavenDB
var albumModel = session.Load<Album>(id);
//Save Album
UpdateModel(albumModel, "Album");
session.SaveChanges();
La solution
Vous devez utiliser le code comme ceci:
DocumentStore.DatabaseCommands.Batch(
new PatchCommandData{
Key = "users/15",
Patches = new [] {
Type = "Set",
Name = "Email",
Value = "Ayende"
}
}
);
Voir ce fil sur le groupe de discussion pour plus info
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow