zoukankan      html  css  js  c++  java
  • 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能

    此处采用VS2017+SqlServer数据库

    一、创建项目并引用dll:

        1.创建一个MVC项目     

        2.采用Nuget安装EF6.1.3

    二、创建Model

            在models文件夹中,建立相应的model文件,这里建立的class名,就是数据库里表的名字。
            在这里面,可以建立表之间的关系,本次将建立Course(课程)、Student(学生)、StuCourse(课程学生关系)来作为一个Demo

    [Table("t_course")]   //可以通过Attribute的形式修改自动生成的表名,否则将生成courses复数形式的表
    public class Course
    {

    public int ID { get; set; }

    [Required]
    public string course_Name { get; set; }

    public string course_code { get; set; }

    public virtual ICollection<StuCourse> StuCousers { get; set; }

    }

    public class Student
    {

    public int ID { get; set; }

    [Required]
    [MaxLength(10)]
    public string stu_Name { get; set; }

    public string stu_Pwd { get; set; }

    public string stu_sex { get; set; }

    public int stu_age { get; set; }

    public virtual ICollection<StuCourse> StuCousers { get; set; }

    }

    public class StuCourse
    {

    public int ID { get; set; }

    public int StudentID { get; set; }

    public int CourseID { get; set; }

    public virtual Student Student { get; set; }

    public virtual Course Course { get; set; }

    }

    三、新建一个Dal文件夹,用来建立Database Context

    public class EFDBContext:DbContext
    {
    public EFDBContext() : base("EFDBContext") //数据库链接的Web.config中结点名字
    {

    }

    public virtual DbSet<Student> Students { get; set; }

    public virtual DbSet<Course> Courses { get; set; }

    public virtual DbSet<StuCourse> StuCouse { get; set; }

    }

    四、配置数据库连接信息

      在WebConfig文件中增加connectionStrings节点,填写数据库连接信息,此处是我本机所装的sql server,提前建好的Database:CodeFirst

      注意此节点的位置,不能放在第一,否则会报错。

     五、生成数据库迁移文件,并更新DB

       1.工具 -> 库程序包管理器 -> 程序包管理器控制台

       2.运行命令 Enable-Migrations,

          这时候,你会发现在程序端多出一个文件夹叫Migrations,这里面有一个Configuration.cs文件

       3.运行命令Add-Migration,此命令会在Migrations文件下新增一个数据库迁移文件,文件内容为创建或修改数据库的表的代码

       4.运行命令Update-Database 或Update-Database -Force,执行最新数据库迁移文件,更新DB中的表信息

            在创建好表之后要修改表很简单,直接修改Model,然后执行Add-Migration,会自动产生一个数据库迁移文件,在执行Update-Database就会更新数据库中的表了;

       还有一种方式可以开启自动迁移,修改Migrations文件夹下Configuration,将AutomaticMigrationsEnabled的值修改为true即可,这样一来再修改Model后就可以直

      接执行Update-Database命令来更新DB了

     六、创建Control并实现增删改查功能(EntityFramework的脚手架会自动根据Model帮我们生成增删改查功能及View,而且还自带Bootstrap样式

      1.添加Control并选择包含视图的MVC5控制器

    2.下拉框选择创建模型类数据库上下文类

    点击添加出现如下弹出框就开始自动生成增删改查页面及相应功能

    可以看到Controller和Views文件夹帮我们生成了如下文件:

       

     3.更改RouteConfig文件,设定Students的Index为默认启动项

      4.运行程序结果如下,此时增删改功能已经可以正常使用

  • 相关阅读:
    Chap-6 6.1~6.3 程序装载
    X Window基础二(转)
    X Window基础一(转)
    Linux基础命令 su与sudo的区别
    Chap-4 Section 4.6 链接控制过程
    Chap-4 Section 4.5 静态库链接
    ceph的CRUSH数据分布算法介绍
    使用ffmpeg捕获USB外部摄像头视频流
    使用ffserver实现转发实时流媒体(摄像头捕获)
    内存映射文件(专门读写大文件)
  • 原文地址:https://www.cnblogs.com/andfly/p/6719444.html
Copyright © 2011-2022 走看看