使用现有数据库和实体框架创建控制器

时间:2014-01-21 03:03:58

标签: .net asp.net-mvc entity-framework

你好,我是MVC的新手,我的项目是CMS 我读了一些关于mvc的文章,我理解了代码的第一个概念。

我的问题是如何使用现有的Entity Framework创建控制器?我的同事在这里说:

  

它应该创建一个空控制器并为该控制器创建一个新模型,但我不知道如何。

请帮忙。

这是我使用datacontext和model添加控制器时生成的代码。

private SureSeatsDBEntities db = new SureSeatsDBEntities();

    //
    // GET: /Users/

    public ActionResult Index()
    {
        return View(db.SystemUsers.ToList());
    }

    //
    // GET: /Users/Details/5

    public ActionResult Details(int id = 0)
    {
        SystemUser systemuser = db.SystemUsers.Find(id);
        if (systemuser == null)
        {
            return HttpNotFound();
        }
        return View(systemuser);
    }

    //
    // GET: /Users/Create

    public ActionResult Create()
    {
        return View();
    }

    //
    // POST: /Users/Create

    [HttpPost]
    public ActionResult Create(SystemUser systemuser)
    {
        if (ModelState.IsValid)
        {
            db.SystemUsers.Add(systemuser);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(systemuser);
    }

    //
    // GET: /Users/Edit/5

    public ActionResult Edit(int id = 0)
    {
        SystemUser systemuser = db.SystemUsers.Find(id);
        if (systemuser == null)
        {
            return HttpNotFound();
        }
        return View(systemuser);
    }

    //
    // POST: /Users/Edit/5

    [HttpPost]
    public ActionResult Edit(SystemUser systemuser)
    {
        if (ModelState.IsValid)
        {
            db.Entry(systemuser).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(systemuser);
    }

    //
    // GET: /Users/Delete/5

    public ActionResult Delete(int id = 0)
    {
        SystemUser systemuser = db.SystemUsers.Find(id);
        if (systemuser == null)
        {
            return HttpNotFound();
        }
        return View(systemuser);
    }

    //
    // POST: /Users/Delete/5

    [HttpPost, ActionName("Delete")]
    public ActionResult DeleteConfirmed(int id)
    {
        SystemUser systemuser = db.SystemUsers.Find(id);
        db.SystemUsers.Remove(systemuser);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    protected override void Dispose(bool disposing)
    {
        db.Dispose();
        base.Dispose(disposing);
    }

2 个答案:

答案 0 :(得分:0)

在ASP .NET MVC Web应用程序中,您需要创建一个新的控制器。您可以通过右键单击“Controllers”文件夹并导航到“Add” - >来执行此操作。 “控制器”。指定您的控制器名称,它将被创建。

ASP .NET MVC控制器不依赖于Entity Framework模型,除非您制作它们。您应该为控制器创建一个视图模型,它只是表示该页面上显示的数据。

我建议你做一些搜索以填补空白。您可能想要查找的内容是“模型视图控制器模式”。

This series of tutorials也是学习ASP .NET MVC的一个很好的起点。

答案 1 :(得分:0)

如果您使用实体框架,则无需创建模型,因为它会照顾您。关于控制器,您可以通过右键单击“控制器”文件夹并导航到

来执行此操作
  

添加 - >控制器

说明你的控制器名称,它将被创建。