朋友们好!
我有 2 个模型类说Page和PageHistory。两者都包含相同的属性。在这里,每当我编辑Page对象时,我都需要使用相同的属性值更新PageHistory对象。
我试过这样的事情:
[HttpPost]
        [ValidateInput(false)]
        public ActionResult Edit(Page page, FormCollection frm)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    page.IsPublished = !string.IsNullOrEmpty(frm["BtnPublish"]);
                    _db.Entry(page).State = EntityState.Modified;
                    _db.SaveChanges();
                    //Add updated page in hitory, if something is modified
                    PageHistory ph=new PageHistory();
                    ph.ID=page.ID
                    // likewise all attributes.....
                    // after all values are assigned, save a History object
                    ph.SaveChanges();
                    return RedirectToAction("Subpages", new { id = page.ParentId });
                }
            }
            catch (DataException)
            {
                //Log the error (add a variable name after DataException)
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator (http://support.mysite.com).");
            }
            return View(page);
        }
它正在工作,但这并没有那么优化,是否有任何替代方法可用于复制对象?还有一个问题是,是否可以从 Page 类继承 PageHistory类,因为两者都包含相同的属性?哪一个是最好的方法?