此处采用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.运行程序结果如下,此时增删改功能已经可以正常使用

使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能的更多相关文章

  1. MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查

    MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查 本文的目的:   1.MVC3项目简单配置EF code first生成并初始化数据 ...

  2. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  3. 【设计模式】【应用】使用模板方法设计模式、策略模式 处理DAO中的增删改查

    原文:使用模板方法设计模式.策略模式 处理DAO中的增删改查 关于模板模式和策略模式参考前面的文章. 分析 在dao中,我们经常要做增删改查操作,如果每个对每个业务对象的操作都写一遍,代码量非常庞大. ...

  4. EntityFramework使用Code First模式创建数据库控制生成单数形式的表名

    使用Code-First模式生成数据库时,默认生成的数据库表的名称为类型的复数形式,例如实体类名称是"User",默认生成的数据库表名为“Users”,多数情况下我们并不想生成的数 ...

  5. Entity Framework应用:根据实体的EntityState状态实现增删改查

    在上一篇文章中,我们讲解了使用EF实现简单的增删改成,在这篇文章中我们使用实体的EntityState状态来优化数据的增删改查. 一.修改数据 上篇文章中的修改数据的方法是EF官方推荐的方式,即先查询 ...

  6. 使用Entity Framework通过code first方式创建数据库和数据表

    开发环境 WIN10 Entity Framework6.0  MVC5.0  开发工具 VS2015  SqlServer2012 1.创建上下文Context继承DbContext,并创建其他的业 ...

  7. (转载)EF 使用code first模式创建数据库和 填充种子数据

    第一篇:来自 .net 开发菜鸟 博主的文章:https://www.cnblogs.com/dotnet261010/p/8035213.html 第二篇:来自 JustYong 博主的文章:htt ...

  8. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  9. (菜鸟要飞系列)三,基于Asp.Net MVC5的后台管理系统(用户的增删改查功能)

    这些天被项目,考试整昏了头脑,没时间更新,我已经将这一部分全部做完了,现在把代码放上来,大家可以自己研究,有问题可以私聊,这里把图放上来 http://download.csdn.net/detail ...

随机推荐

  1. Drying POJ - 3104

    It is very hard to wash and especially to dry clothes in winter. But Jane is a very smart girl. She ...

  2. Docker部署Apollo配置中心

    1.Apollot简述 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于 ...

  3. CSS实现网页背景图片自适应全屏

    一张清晰漂亮的背景图片能给网页加分不少,设计师也经常会给页面的背景使用大图,我们既不想图片因为不同分辨率图片变形,也不希望当在大屏的情况下,背景有一块露白,简而言之,就是实现能自适应屏幕大小又不会变形 ...

  4. Docker学习——Lepus部署

    Lepus部署(基于docker)及mysql慢查询配置 介绍 Lepus是一个由Python+PHP开发的数据库企业级监控系统,可用于MySQL/Oracle/MongoDB/Redis 下载镜像 ...

  5. 第二篇:使用Spark对MovieLens的特征进行提取

    前言 在对数据进行了初步探索后,想必读者对MovieLens数据集有了感性认识.而在数据挖掘/推荐引擎运行前,往往需要对数据预处理.预处理的重要性不言而喻,甚至比数据挖掘/推荐系统本身还重要. 然而完 ...

  6. 1.4 如何在main()方法之前执行输出“hello world”

    public class Test{ static{ System.out.println("hello world"); } public static void main(St ...

  7. .NET微服务 容器化.NET应用架构指南(支持.NET Core2)

    介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...

  8. opacity 与rgba区别

    rgba(r,g,b,a) rgba(r,g,b,a) r,g,b分别是颜色r g b的值(0-255),a表示透明度(0-1). opacity: value: opacity: value; va ...

  9. angular2 实现的小项目

    之前根据官网的demo做了一个小例子,将的都比较基本,为了更好的提高对angular的认知,又做了一个小例子,目前还不完善.主要有路由,http,组件之间的通信,服务等基本知识. 项目地址:https ...

  10. Rotational Region CNN

    R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...