首页 > 数据库 >【.Net6】简单使用EF进行数据库迁移

【.Net6】简单使用EF进行数据库迁移

时间:2022-08-28 20:11:55浏览次数:51  
标签:set string get 数据库 EF Book Net6 public

CodeFirst

CodeFirst是根据代码中定义的模型,映射到数据库中,下面以一个控制台项目为例,简单描述其方法。

//首先需要2个Nuget包:
Microsoft.EntityFrameworkCore.SqlServer		//如果使用的数据库是SqlServer则安装这个包
Microsoft.EntityFrameworkCore.Tools		//迁移和更新数据库时需要

创建一个类,作为模型,比如Book.cs,最好新建一个文件夹用来放模型类

namespace LEF.Models
{
    public class Book
    {
	//下面都是Book类在数据库中需要有的属性
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public DateTime CreatedDate { get; set; }
        public string Publisher { get; set; }
        public decimal Price { get; set; }
        public string ImageUrl { get; set; }
    }
}

创建一个类用于继承EFCore的DbContext类,DbContext类中有些方法需要在这里实现,但初学来看结构比较固定

namespace LEF
{
    public class Context:DbContext
    {
        public Context()
        {

        }

        public Context(DbContextOptions<Context> options):base(options)
        {

        }

        public DbSet<Book> Book { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
	//这里是连接数据库,其中如果database指定的数据库不存在,则会创建
            string connString = @"server=DESKTOP-3RKRN58;database=efcoreDb;trusted_connection=true;MultipleActiveResultSets=true";
            optionsBuilder.UseSqlServer(connString); 
        }
    }
}

最后在菜单栏找到 工具->Nuget包管里器->程序包管理器控制台,打开控制台后输入以下内容

add-migration 任意字符串		//迁移命令,此时只是生成了几个文件和代码,还未更新到数据库
update-database		//上面的命令执行成功后,就可以用这个命令更新到数据库了

DbFirst

以后再写...

标签:set,string,get,数据库,EF,Book,Net6,public
From: https://www.cnblogs.com/flashing-magic/p/16633466.html

相关文章

  • Educational Codeforces Round 125 D
    D.ForGamers.ByGamers.最近又生病了然后就休息了两天人还真是休息不得直接寄掉了不管是手速还是思维啥的看到这道题很简单的一个变形都没看出来只看出了二分......
  • EvaluationSystem:后端业务接口(js同步操作数据库)
    1、用户业务接口(services/user.js)用户相关业务:注册账号登录账号查看用户信息修改个人资料2、数据业务接口(services/data.js)添加一条数据查询一条数据所有数据......
  • ShardingSphere数据库读写分离
    学习:渣男小四:https://www.cnblogs.com/steakliu/p/16514796.html背景在现在这个数据量与日俱增的时代,传统的单表,单库已经无法满足我们的需求,可能早期数据量不是很大,CRU......
  • qt 线程和数据库
    qt使用数据库:1.使用的编译器是MinGM或MSVxx系统:一般MinGM在include环节没有问题,MSV的话有可能需要自己添加一下2.安装qt的时候没有勾选上qsqldatabase,那么需要自己下......
  • Future and CompletableFuture
     Future代表异步执行的结果,也就是说异步执行完毕后,结果保存在Future里,我们在使用线程池submit()时需要传入Callable接口,线程池的返回值为一个Future,而Future则保存......
  • 数据库基础01
    基本介绍录入信息->产生相应数据(存入数据库)->被加载至项目页面中常见数据库分类关系型(RDMS)数据的关系以表的形式表达。常见:Oracle(大型项目),Mysql(Web项目),SQLServer......
  • PHP 中的三元运算符和or表达式对比[defined() or define()]
    在php代码中我们经常看到这样的写法:$max=$a>$b?$a:$b;mysql_connect($user,$passwd,$db)ordie($mess);下面对这两种常见的写法做以下说明:第一种:典型的三元运算......
  • EvaluationSystem:数据库模型建立
    1、用户table(./models/user.js)用户字段:useraccount:账号(主键)nickname:昵称password:密码evalnum:已参与测评数量2、数据table(./models/data.js)数据字段:name:数据名字......
  • defer执行顺序和return先后顺序
    packagemainimport"fmt"funcmain(){//写入defer关键字deferfmt.Println("mainend1")deferfmt.Println("mainend2")fmt.Println("main::hel......
  • Referenced file contains errors (http://www.springframework.org/schema/beans/spr
    Referencedfilecontainserrors(http://www.springframework.org/schema/beans/spring-beans-3.0.xsd)._faihtua的博客-CSDN博客 https://blog.csdn.net/faihtua/arti......