Domanda

Sto usando asp.net MVC2.

Ho un modello definito come

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

Come aggiornare un documento reparto esistente attraverso il mio controller? la mia azione di modifica viene definito come

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

qui dice c'è un comando PATCH per aggiornare un documento. Ma non ho trovato questo in classe IDocumentSession in Client API di Raven

Non voglio ottenere prima il documento e poi aggiornarlo come il modo in cui si è fatto in esempio MVCMusicStore di RavenDB

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

            UpdateModel(albumModel, "Album");
            session.SaveChanges();
È stato utile?

Soluzione

È necessario utilizzare il codice come questo:

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

questo thread sul gruppo di discussione per più informazioni

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top