我正在使用asp.net MVC2。
我有一个定义为
的模型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; }
}
如何通过我的控制器更新现有的部门文档? 我的编辑操作定义为
[HttpPost]
public ActionResult Edit(string id, Department department)
{
..
}
答案陈述here告诉我有一个PATCH
命令来更新文档。
但我没有在Raven的客户端API
IDocumentSession
类中找到它
我不想先获取文档,然后像在RavenDB的MVCMusicStore示例中那样更新它
var albumModel = session.Load<Album>(id);
//Save Album
UpdateModel(albumModel, "Album");
session.SaveChanges();
答案 0 :(得分:4)
您需要使用以下代码:
DocumentStore.DatabaseCommands.Batch(
new PatchCommandData{
Key = "users/15",
Patches = new [] {
Type = "Set",
Name = "Email",
Value = "Ayende"
}
}
);
有关详细信息,请参阅讨论组中的this thread