Dotnet Core EF CodeFirst 创建数据库和更新数据库

EFCore2.0 Code First基本使用

前言

在网上找EFCore Code First相关的文章,很多都是基于core 1.0版本的,觉得有必要自己实践下2.0。所以,撸起袖子干吧!~

1.新建控制台项目

2.打开程序包管理器控制台。工具->NuGet包管理器->程序包管理器控制台

Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools

依次安装以上三个Nuget包

3.新建User类:

Copy
 public class User
    {
        public int Id { get; set; }

        [MaxLength(30), Required]
        public string Account { get; set; }

        [MaxLength(30), Required]
        public string Password { get; set; }
    }
Copy
public class TestDbContext : DbContext
    {
        public DbSet<User> User { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(
                "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=.");//数据库连接字符串,其中TestDB是数据库名称
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<User>().HasIndex(u => u.Account).IsUnique();
        }
    }

4.初始化,生成数据库

在程序包管理器控制台依次执行以下命令

Copy
Add-Migration Init  //其中Init是你的版本名称
update-database Init //更新数据库操作 init为版本名称

执行完以上操作后,数据库就创建成功了。

4.数据库修改

在我们实际开发的过程中,经常性的会修改字段,那在code First中如何处理呢?
实例:将User类的Password的长度修改为15

Copy
 public class User
    {
        public int Id { get; set; }

        [MaxLength(30), Required]
        public string Account { get; set; }

        [MaxLength(15), Required]
        public string Password { get; set; }
    }

控制台运行:

Copy
Add-Migration EditPwdLength //同上,不在解释
update-database EditPwdLength

运行成功后,刷新数据库查看 

原文地址:https://www.cnblogs.com/0819lsl/p/11144180.html