题
我使用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)
{
..
}
答案指出 告诉有一个PATCH
命令更新的文档。
但我没有在Raven的客户端API发现这IDocumentSession
类
我不想先获取该文件,然后更新它喜欢它在RavenDB的MVCMusicStore例子做的方式
var albumModel = session.Load<Album>(id);
//Save Album
UpdateModel(albumModel, "Album");
session.SaveChanges();
解决方案
您需要使用这样的代码:
DocumentStore.DatabaseCommands.Batch(
new PatchCommandData{
Key = "users/15",
Patches = new [] {
Type = "Set",
Name = "Email",
Value = "Ayende"
}
}
);
请参阅上讨论小组该线程了解信息
不隶属于 StackOverflow