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//数据库回退到第一次的版本

使用CodeFirst创建数据库的更多相关文章

  1. EF CodeFirst 创建数据库

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    话说EF支持三种模式:Code First   M ...

  2. NetCore2.0下使用EF CodeFirst创建数据库

    本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目  取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...

  3. 使用EF CodeFirst 创建数据库

    EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...

  4. ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库

    Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...

  5. ASP.NET通过EntityFramework CodeFirst创建数据库

    Number1 新建一个项目 给新项目添加一个实体数据模型 选择第三个 这里我创建两个有关系的类,也就是有外键关系的数据库表 using System; using System.Collection ...

  6. .net core2.0 codefirst 创建数据库的问题!

    appsettings.json和Startup.cs就不记录了,网上很多!! 1.必须在有DbContext类的项目里添加这3个NuGet引用 Microsoft.EntityFrameworkCo ...

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

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

  8. 【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种 ...

  9. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

随机推荐

  1. hashlib以及hmac的日常应用

    首先我们要明白日常的Web网页为了保证数据的安全都会对数据的存储进行一些加密,当我需要在此网站验证时就需要对原有的密码以及账号进行加密此时我们就需要用到hashlib这个框架的一些功能,下面我就来更大 ...

  2. visudo: /etc/sudoers is busy, try again later

    启动visudo时,报错"visudo: /etc/sudoers is busy, try again later" 解决思路:杀掉visudo进程 ps -ef|grep vi ...

  3. for循环,数字、字符串和列表内置方法

    目录 控制流程之for循环 基本语法 for+break for+continue for+else for循环打印lodaing 数字类型内置方法 整型 int 浮点型 float 字符串内置方法 ...

  4. Transformer —— attention is all you need

    https://www.cnblogs.com/rucwxb/p/10277217.html Transformer -- attention is all you need Transformer模 ...

  5. 爬虫---Beautiful Soup 通过添加不同的IP请求

    上一篇爬虫写了如何应付反爬的一些策略也简单的举了根据UA的例子,今天写一篇如何根据不同IP进行访问豆瓣网获取排行版 requests添加IP代理 如果使用代理的话可以通过requests中的方法pro ...

  6. flask 案例项目基本框架的搭建

    综合案例:学生成绩管理项目搭建 一 新建项目目录students,并创建虚拟环境 mkvirtualenv students 二 安装开发中使用的依赖模块 pip install flask==0.1 ...

  7. 201871010108-高文利《面向对象程序设计(java)》第八周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...

  8. openssl+vsftpd 加密验证方式

    [root@localhost ~]# rpm -q opensslopenssl-1.0.1e-48.el6.x86_64[root@localhost ~]# ldd /usr/sbin/vsft ...

  9. mac os下切换pip3国内源并安装requests库

    在使用Python的时候,经常会用到pip来安装模块,但是默认的下载源实在是特别慢,经常install的时候还会因为速度的原因直接报错,因此我们可以选择将下载源更改为国内的,这样就可以提高我们的下载速 ...

  10. 理解Javascript执行过程

    Javascript是一种解释型的动态语言. 在程序中,有编译型语言和解释型语言.那么什么是编译型语言,什么是解释型语言呢? 编译型语言: 它首先将源代码编译成机器语言,再由机器运行机器码(二进制). ...