EFCore--->> CodeFirst (Vs2019 Core3.0)的简单使用
直接上干货
EFCore--->> CodeFirst (Vs2019 Core3.0)
1: 安装下面3个对应的package(在Nuget控制台或者直接NuGet包查询点击下载,我喜欢下面的命令,B格一些)
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
2:创建实体
namespace WebApplication1.Models
{
using System.ComponentModel.DataAnnotations;
public class Person
{
[Key] //将来在数据库对应的表中 就是主键
public int ID { get; set; }
[MaxLength(30), Required] //。。。
public string Name { get; set; }
public int? Age { get; set; } //可为空
public DateTime? Birthday { get; set; }
}
}
3: 覆写下面两个方法或其中一个方法,及新增俩个实体,并添加到这里
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebApplication1.Models
{
using Microsoft.EntityFrameworkCore;
public class TestDbContext:DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//base.OnConfiguring(optionsBuilder);
string sqlConnection = "server=XB-201907130929\\ZRFSQLSERVER;uid=sa;pwd=123456;database=TestDbContext";
optionsBuilder.UseSqlServer(sqlConnection);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//modelBuilder.Entity<Person>().HasIndex(u => u.Name).IsUnique(); //是否唯一,看你直接是否需要咯
}
public DbSet<Person> Person { get; set; }
public DbSet<Book> Book { get; set; }
}
}
4:控制台命令:
Add-Migration Init //其中Init是你的版本名称 ,这个每一次修改都会要求你加上名称
下面update-database init会同步并生成数据库及表; init当做为版本号即可
update-database Init //再一次执行会回到这个数据库的版本包括表的字段和数据
update-database uupdte0 会更新到这个版本,数据库中的表都会更新到这个迁移的版本,包括数据
5:注意点
Add-Migration EditPwdLength // 修改了表或者添加了表
update-database EditPwdLength //加上版本EditPwdLength 会比较保险一些吧
后续会不断的写些自己的小笔记,加油!!!
EFCore--->> CodeFirst (Vs2019 Core3.0)的简单使用的更多相关文章
- What?VS2019创建新项目居然没有.NET Core3.0的模板?Bug?
今天是个值得欢喜的日子,因为VS2019在今天正式发布了.作为微软粉,我已经用了一段时间的VS2019 RC版本了.但是,今天有很多小伙伴在我的<ASP.NET Core 3.0 上的gRPC服 ...
- VS2019没有.net core3.0模板的解决办法
今天装好了,net core sdk 3.0之后,打开Visual Studio2019后,新建项目时发现尽然没有.net core3.0的模板. 搜了下其他博主的文章,按照文章里做了如下设置: ...
- .Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器
目标:使用.net core最新的3.0版本,借助httpclient和本机的host域名代理,实现网络请求转发和内容获取,最终显示到目标客户端! 背景:本人在core领域是个新手,对core的使用不 ...
- .Net Core3.0 WebApi 项目框架搭建 一:实现简单的Resful Api
.Net Core3.0 WebApi 项目框架搭建:目录 开发环境 Visual Studio 2019.net core 3.1 创建项目 新建.net core web项目,如果没有安装.net ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- 2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App
一.前言: 全文翻译自:https://www.talkingdotnet.com/creating-first-asp-net-core-3-0-app-visual-studio-2019/ Vi ...
- 使用.net core3.0 正式版创建Winform程序
前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并 ...
- 在.net core3.0中使用SignalR实现实时通信
最近用.net core3.0重构网站,老大想做个站内信功能,就是有些耗时的后台任务的结果需要推送给用户.一开始我想简单点,客户端每隔1分钟调用一下我的接口,看看是不是有新消息,有的话就告诉用户有新推 ...
- Core3.0的 安装与坑坑坑!!!
Core3的 SDK下载地址是:https://dotnet.microsoft.com/download/dotnet-core/3.0 ! 不要下载preview8!!!,请先下载 previe ...
随机推荐
- git远程操作相关命令(remote 、push、fetch 、pull)
git remote 为了便于管理,Git要求每个远程主机都必须指定一个主机名.为了便于管理,Git要求每个远程主机都必须指定一个主机名. git remote[查看创库名] git remote 在 ...
- 构建之法——homework1:问题思考
1.我看了第一章概论,1.2.4 软件工程的目标——创造“足够好”的软件,其中提到了什么是好的软件? 软件工程的一个要素就是把软件的Bug都消灭掉的过程. 提问:我们知道Bug是不可能完全消灭掉的, ...
- 深入集合类系列——ArrayList和Vector的区别
区别: 1)Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性 ...
- Java 从入门到进阶之路(七)
在之前的文章中我们介绍了一下 java 中的对象和类,接下来我们来看一下 Java 中的方法重载. 在显示生活中,我们肯定会遇到这样一个问题,那就是我们再商场买东西的时候在付账时的选择.如下 A:在收 ...
- 利用JVM在线调试工具排查线上问题
在生产上我们经常会碰到一些不好排查的问题,例如线程安全问题,用最简单的threaddump或者heapdump不好查到问题原因.为了排查这些问题,有时我们会临时加一些日志,比如在一些关键的函数里打印出 ...
- CentOS8 yum/dnf 配置国内源
CentOS8 yum/dnf 配置国内源(临时) CentOS 8更改了软件包的安装程序,取消了 yum 的配置方法,改而使用了dnf 作为安装程序.虽然改变了软件包的安装方式,但是 dnf 还是能 ...
- Springboot之初入江湖
Hello,各位小伙伴大家好,我是小栈君. 今天的分享主题是关于Springboot主题分享,其实在写这个系列主题之前有想过一些关于分享技术的顺序问题,因为我在创建"IT干货栈"这 ...
- MyBatis resultType用Map 返回值中有NULL则缺少字段 返回值全NULL则map为null
这个问题我大概花了2个小时才找到结果 总共需要2个设置 这里是对应springboot中的配置写法 @select("select sum(a) a,sum(b) b from XXX wh ...
- 原生js动态添加新元素、删除元素方法
1. 添加新元素 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- ZGC深入学习
ZGC简介 本次调研目标选取的是jdk11(long-term support)下首次亮相的zgc. zgc介绍简单翻译了zgc main page:ZGC简介 另外参考hotspot garbage ...