1.新建一个类库项目

2.右键管理Nuget程序包,搜索EntityFramework.然后安装

3.新建一个类,然后引用 using System.Data.Entity; 然后写类初始化方法(base中的字符串为数据库的配置名称)

4.在App.config中添加数据库链接配置(注意:该配置放在主项目中,此项目为类库项目不能直接运行,所以此配置放在主项目中,若放在该类库项目中

则初始化时会从主项目中寻找该配置.而主项目没有的话则会生成到vs默认的本地数据库).

5.然后点击工具->nuget包管理器->程序包管理器控制台执行 enable-migrations –EnableAutomaticMigration:$true

之后会自动创建一个继承自DbMigrationConfiguration类的Configuration类.并修改一个默认属性

6.新建一个类,创建完之后在自己创建的DbContext类(第三步)中添加对应的类的信息.

7.CodeFirst有两种创建更新数据库的方式分别是自动和控制台

  自动

    1.自动合并更新配置在第五步中的两个属性中的第一个自动更新属性配置为True了;

2.调用 Database.SetInitializer(new MigrateDatabaseToLatestVersion<CodeFirstDbContext, CodeFirst.Migrations.Configuration>());

    (此处放在主项目的Global.asax.cs  ->  Application_Start ()方法中.这样只会执行一次跟新合并数据库)

    3.实例化CodeFirstDbContext.并执行查询

      using (var ctx = new CodeFirstDbContext())

      {
        var studentName = ctx.Database.SqlQuery<User>("Select * from Users where id=@id", new SqlParameter("@id", 1))
        .ToList();
      }

    此处执行完毕之后数据库才会合并跟新,如不实例化并查询.并不会合并更新数据库

  控制台

  1-Add-Migration FirstInit

    2.Update-Database

    ① updata-database [-verbose]

      在程序包控制台中执行这条命令时,会执行Add-Migration命令创建的最新的迁移文件,并更新数据库

      执行完上边三步数据库就生成了,以后当我们修改实体类时,执行Add-Migration [MigName]后再执行Update-Database [-verbose],就可方便地根据模型的变化更新数据库。

    ② update-database -TargetMigration:xxx

    如果我们想回退到某一个版本时执行:

  update-database -TargetMigration:FirstInit//数据库回退到第一次的版本

转载于:https://www.cnblogs.com/yan0720/p/11046850.html

使用CodeFirst创建数据库相关推荐

  1. EF使用CodeFirst创建数据库和表

    EF支持三种实体模型:Code First,Model First和DB First,分别表示代码优先,模型优先和数据库优先.目前就个人来说使用CodeFirst最多,对此相对比较熟悉,先写下Code ...

  2. EF CodeFirst 如何通过配置自动创建数据库当模型改变时

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    本篇为进阶篇,也是弥补自己之前没搞明白的地方,惭愧 ...

  3. 使用CodeFirst创建并更新数据库

    本文主要介绍如何使用CodeFirst模式来新建并更新数据库 在使用Entity Framwork的三种方式(ModelFist.DBFirst.CodeFirst)中,CodeFirst方式书写的代 ...

  4. c 创建mysql实体模型_EntityFrameworkCore 根据实体类自动创建数据库

    1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1   Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...

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

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

  6. c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库

    1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1   Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...

  7. 创建数据库,指定数据库的字符集和编码顺序

    创建数据库,指定它的字符集和编码顺序 create database {数据库名称} CHARACTER SET {字符集} COLLATE {排序规则} 举例: create database co ...

  8. Mysql创建数据库用户

    Mysql为数据库创建用户 通常情况下我们在编写代码的过程中(也就是在开发过程中),一直使用的是我们本地的mysql,而且用户都是root用户,最高权限的用户,但是我们如果在公司上班的时候,公司的领导 ...

  9. ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

    在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener ...

最新文章

  1. 这是我见过的GAN的最佳用法!
  2. DKHadoop人力资源大数据解决方案架构
  3. python语言if语句-Python中if语句是怎么用的?本文详解
  4. CodeForces - 1285D Dr. Evil Underscores(记忆化搜索+字典树)
  5. 【转】译文:.net 程序员易犯的7个通病
  6. 纪中A组模拟赛总结(2021.7.19)
  7. 哈希存储 java_Java容器系列之HashMap的存储
  8. sublime默认html,Sublime Text默认HTML评论
  9. mysql8.0.16安装_mysql8.0.16安装(补) September 24,2019
  10. 建站篇-数据库-修改默认users表
  11. 商业模式匹配乃同质化产品竞争终极大杀器
  12. 计算机学院刘彤,刘彤-北京航空航天大学材料科学与工程学院
  13. 要些一个在win98下的socket服务程序,大家推荐一下用啥控件?Indy?
  14. 【飞桨PaddleSpeech语音技术课程】— 多语言合成与小样本合成技术应用实践
  15. Web前端开发技术实验与实践(第3版)储久良编著实训3
  16. 官方免费申请许可证-VMware Fusion 12 – Personal Use License
  17. python实现K均值聚类算法
  18. 概率论基础-严士健 第二版 习题与补充3.2答案
  19. 分析XBrowser地址栏使用案例
  20. import image的坑

热门文章

  1. POJ 1004:Financial Management
  2. Perl文件处理示例——批量添加Copyright版权信息
  3. SQLite学习笔记(三)--创建内存数据库
  4. cocoapods 安装失败 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.
  5. ZooKeeper官方文档学习笔记03-程序员指南02
  6. 如何修改linux的 系统语言
  7. c语言除法的编译,怎样代替除法指令
  8. python字符串format和center居中应用(三分钟读懂)
  9. linux内核killler,Linux 的 OOM Killer 机制分析
  10. ROS入门 通信架构