تحديث مستند في RavendB
-
25-09-2019 - |
سؤال
أنا أستخدم 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
أمر لتحديث مستند. لكنني لم أجد هذا في IDocumentSession
الفصل في API عميل Raven
لا أرغب أولاً في الحصول على المستند ثم قم بتحديثه مثل الطريقة التي يتم بها في مثال MVCMUSICSTORE الخاص بـ RAVENDB
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