MVC如何保存数据库视图的数据

zbdzjx 2014-06-05 05:11:08
请教高手一个问题:
最近在看MVC,按书上的内容操作了一下。
现在有一个问题,书上讲的都是连接到数据库中的实际表,那如果连接到数据库中的视图,那要如何新增、修改、保存数据???

例如:
有两个表,员工表(工号、姓名、部门),打卡表(工号、日期、时间)
有一个视图,打卡明细(工号、姓名、部门、日期、时间)。
如果要对这个视图新增打卡记录,或是修改已有记录,那需要怎样处理??
...全文
537 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunwen51 2016-03-22
  • 打赏
  • 举报
回复
我跟楼主的情况类似,想知道在控制器里面具体是怎么操作数据库的,比如查询某一条数据的逻辑是,从视图获取要查找的关键字,然后转到控制器,控制器调用模型里面的类!!!搞不明白的是 select [] from [表名] 这里该怎么写呢
parlmes 2014-06-18
  • 打赏
  • 举报
回复
MVC 跟 “如何保存数据库视图的数据” 根本扯不上关系啊 你平常怎么搞就怎么保存就好
  • 打赏
  • 举报
回复
数据的操作跟webform,MVC,无关,只跟你数据访问框架有关,如,ADO,ORM(l2s,EF,NH.等)
於黾 2014-06-18
  • 打赏
  • 举报
回复
你确定UpdateModel是去修改数据库的视图,而不是程序里的view?
saijie 2014-06-18
  • 打赏
  • 举报
回复
M V C 把这3个字母看懂就明白了
liuruitao647 2014-06-12
  • 打赏
  • 举报
回复
别太教条化了。实际上你的.chtml里面根本是写不了逻辑的。。另外,你控制器里面用EF或者直接ADO.NET写,和MVC真的没啥关系。。看个人爱好
zbdzjx 2014-06-06
  • 打赏
  • 举报
回复
引用 5 楼 bwangel 的回复:
视图有两种,一种是可更新的,一种是不可更新的。看这个视图的定义。 如果是可更新的,就可以按一般的表来操作。如果是不可更新的,就要在实际的表里操作
下面的代码就是书上的,直接就保存了。如果要对实际的表操作,那是不是要去掉“UpdateModel(movie);”和“db.SaveChanges();”这两句,改成用SQL语句来更新实际的表???
//
        // POST: /Movies/Edit
        [HttpPost]
        public ActionResult Edit(Movie model)
        {
            try
            {
                var movie = db.Movies.Find(model.ID);
 
                UpdateModel(movie);
                db.SaveChanges();
                return RedirectToAction("Details", new { id = model.ID });
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "修改失敗,請查看詳細錯誤信息。");
            }
            return View(model);
        }
bwangel 2014-06-06
  • 打赏
  • 举报
回复
视图有两种,一种是可更新的,一种是不可更新的。看这个视图的定义。 如果是可更新的,就可以按一般的表来操作。如果是不可更新的,就要在实际的表里操作
zbdzjx 2014-06-06
  • 打赏
  • 举报
回复
下面的代码就是书上的,直接就保存了。如果操作的数据对应的是数据库中的视图,那要如何处理?? 之前写WinForm时,点保存按钮就执行一个SQL语句来操作相应的表,那在MVC中,是不是要修改下面的代码,也是用SQL语句来操作相应的表???
        //
        // POST: /Movies/Edit
        [HttpPost]
        public ActionResult Edit(Movie model)
        {
            try
            {
                var movie = db.Movies.Find(model.ID);

                UpdateModel(movie);
                db.SaveChanges();
                return RedirectToAction("Details", new { id = model.ID });
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "修改失敗,請查看詳細錯誤信息。");
            }
            return View(model);
        }
引用 1 楼 zhongniangyou 的回复:
视图只是用来显示数据的,要修改里面的内容还是要到实际的表里面去修改
引用 3 楼 liuruitao647 的回复:
MVC VIEW是视图,只是用来展示数据的。C里面才是放逻辑取数据的。
liuruitao647 2014-06-05
  • 打赏
  • 举报
回复
MVC VIEW是视图,只是用来展示数据的。C里面才是放逻辑取数据的。
moonwrite 2014-06-05
  • 打赏
  • 举报
回复
引用 1 楼 zhongniangyou 的回复:
视图只是用来显示数据的,要修改里面的内容还是要到实际的表里面去修改
+1
屎涂行者 2014-06-05
  • 打赏
  • 举报
回复
视图只是用来显示数据的,要修改里面的内容还是要到实际的表里面去修改

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧