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();
Était-ce utile?

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
scroll top