سؤال

أنا أستخدم 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"
        }
   }
); 

يرى هذا الموضوع على مجموعة المناقشة لمزيد من المعلومات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top