在 Web 应用程序上使用视图模型时查询数据库 asp.net mvc3



我在视图模型方面遇到问题,当我尝试将新的注册表添加到我的数据库中时,当我使用视图模型键入视图时,我得到了DbEntityValidationErrors

这是使用视图模型的代码:

    [HttpPost]
    public ActionResult Create(Annonce annonce)
    {
        /*
        if (ModelState.IsValid)
        {
          */  
            _userservice.addannonce(annonce);
            return RedirectToAction("Index");
        /*
        }
       return View(new AnnonceView(annonce));
         * */
    } 

但是当我直接在视图上使用我的实体域 Annonce 时,有任何问题。请帮帮我,对不起我的英语不好

我确信您的addounce方法需要您的实体模型类型的对象。不是视图模型。视图模型特定于处理视图。它与实体模型不同。不能将按原样创建的视图模型发送到实体框架以保存它。您需要发送实体模型。因此,您可能可以读取ViewModel的值并设置为实体模型的相关属性值,并将其发送以进行保存。像这样的东西

YoueEntity.Announce objEntityAnnounce=new YoueEntity.Announce();
//Read from the posted viewmodel and set the values to entity model.
objEntityAnnounce.ID=annonce.ID;
objEntityAnnounce.Title=annonce.Title;
//Other relevant Properties as well
_userservice.addannonce(objEntityAnnounce);

有像AutoMapper这样的库可以执行此映射,您可以查看它们,

相关内容

  • 没有找到相关文章

最新更新