【转】EFCore2.0 Code First基本使用

【转】https://www.cnblogs.com/q975261413/p/8093418.html

EFCore2.0 Code First基本使用

前言

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

1.新建控制台项目(这里就不放图了)

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

 

Copy

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

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

好了。到这里基本就是使用EF Core CodeFirst的基本操作了。其他高深的操作,LZ也在学习!~权当记录吧。

参考

EntityFrameworkCore

问题

1.在实际生产环境中,我们是不可能直接在本地去更新数据库的,需要生成Sql脚本,在服务器上运行。至于如何生成脚本,LZ也还没找到,希望大佬们能给方案。

生成脚本方案 2017年12月31日14:26:01

update-database script EditPwdLength

分类: .Net Core

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值