MVC学习之数据库开发模式:模型优先实例介绍

数据库开发模型之模型优先的步骤如下

1、在数据库中建立一个空的数据库【不需要建立任何表】
     如果不事先创建一个新的数据库,如果在连接数据库那步不选着数据库,默认是在Master数据库中生成表的
2、添加ADO.NET实体数据模型
     选中Models文件夹。添加--新建项--数据--ADO.NET实体数据模型--取名【文中取名为ModelFirst】--控模型--完成
3、修改实体容器名称
    双击ModelFirst.edmx,在左边的空白页面上单击右键--属性---修改实体容器名称【该名称就是web.config中添加的数据库连接字符串的名字。可以随意取的】
4、添加实体,并修改实体集名称
    ModelFirst.edmx的空白页面上右键--新添--实体--修改实体集的名字【改名字是数据库中表的名字】--确定
5、给新建的表添加属性
   选中属性--右键--新增--标量属性。这样就可以给新建的表添加需要的属性字段了
   如果有需要,通过空白处右键单击—》新增—》关联—》设置自己想要的关联关系—》确定 来关联关系
6、生成表
   6-1、在空白处--右键--根据模型生成数据库---完成
   6-2、在sql文件页面--右键--连接--连接,
   6-3、在sql文件页面--右键--执行
7、查看结果
   7-1、打开数据库,在之前的建立好的数据库中,已经有了一张空白表了
   7-2、在web.config文件中,已经生成好了数据库连接字符串的节点,节点名字就是之前设置的实体容器名称
   7-3、在Models文件下的XXX.tt文件下已经生成好了表对应的类。
   7-4、在Models文件下的XXX.Context.tt文件下已经生成好了数据上下文类。类名和实体容器名称一样
8、创建控制器和对应的视图页面
    8-1、在控制器中创建数据上下文类的实例
    8-2、通过实例操作数据

具体操作如下所示:

1、在数据库中建立一个空的数据库【不需要建立任何表】

2、添加ADO.NET实体数据模型

3、修改实体容器名称

4、添加实体,并修改实体集名称

5、给新建的表添加属性

6、生成数据库【实际上就是生成表】

注意:在这一步,如果之前没有创建数据库Computer,也不选择连接到数据库这个选项吗,测试连接也是可以连接成功的,那么生成的表就是默认在Master数据库里面。

如果在这个过程中出现上面这个警告,直接点击确定即可!

到此为止,根据模型生成数据库已经完成了!

7、查看结果

数据库:

web.config配置文件自动生成了连接数据库的节点:

在Models文件下的XXX.tt文件下已经生成好了表对应的类。

在Models文件下的XXX.Context.tt文件下已经生成好了数据上下文类。类名和实体容器名称一样

8、创建控制器和对应的视图页面

   在控制器中创建数据上下文类的实例,通过实例操作数据。

控制器类:

using ModelFirst.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace ModelFirst.Controllers
{
    public class ConputerController : Controller
    {
        //
        // GET: /Conputer/
        private ModelFirstComputer db = new ModelFirstComputer();
        public ActionResult Index()
        {
            return View(db.ComputerInfo.ToList());
        }
    }
}

视图类:

@model IEnumerable<ModelFirst.Models.ComputerInfo>
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<ul>
    @foreach (var item in Model)
    {
        <li>
            <strong>@Html.DisplayNameFor(model => model.Name):</strong>
            @Html.DisplayFor(modelItem => item.Name)<br />
            <strong>@Html.DisplayNameFor(model => model.Price)</strong><br />
            @Html.DisplayFor(modelItem => item.Price)
        </li>
    }
</ul>

结果展示:

原文地址:https://www.cnblogs.com/Yisijun/p/4673550.html