如何从数据库条目填充模型?

时间:2014-10-30 14:39:49

标签: asp.net database asp.net-mvc-4 razor

我已经设置了一个包含大量条目的大表单。它填充我的模型,然后保存到数据库。我还需要能够将这些信息从数据库中提取出来,放入模型中,然后用它填充一堆字段以供查看。我该怎么做?

使用ASP.NET MVC 4 Razor。

var db = new TechProjPlansContext();

TechProjPlan model = new TechProjPlan();

我可以设置我的数据上下文和模型,但是我从哪里开始使用ID选择的数据条目填充模型?

2 个答案:

答案 0 :(得分:1)

您可以通过givenId进行搜索,如果找到则返回TechProjPlan的结果类型,否则为null

var resultFound = db.TechProjPlans.Where(e=>e.Id = givenId).FirstOrDefault();

答案 1 :(得分:1)

我强烈建议您逐步执行this tutorial。从教程中回答你的问题:

写一个Model类,如:

public class Movie 
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
} 

DbSet课程中添加Context :(项目中TechProjPlansContext

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

确保您可以连接到数据库服务器,检查 Web.config 文件中的connectionStrings

如果您想使用ID仅过滤一个实体,则需要控制器类:

public ActionResult Details(int id = 0) // here id is set to 0 if it's null
{
    Movie movie = db.Movies.Find(id);
    if (movie == null)
    {
        return HttpNotFound();
    }
    return View(movie);
}

如您所见,您将返回View(movie),这意味着您使用从数据库获得的Details pageEntity)返回movie。并拥有View,即可呈现客户端将看到的实际 HTML 代码。在它的顶部,添加以下行:

@model MvcMovie.Models.Movie  // (something TechProjPlans.Models.Movie in your project) 

@Html.LabelFor(model => model.Title)

这将创建一个显示电影标题的简单文本。

在答案中深入探讨是不合逻辑的,所以请继续使用该教程。请记住,上面的代码只是一个示例,您可以在每个级别中使用无穷无尽的变化来满足您的需求。

您可以右键单击目录控制器,选择添加新并选择模型类和上下文页面上的课程。这将产生与其绑定的控制器视图(索引,编辑,删除,详细信息,插入),这将是启动 MVC的好方法学习。