ASP.NET Core中使用EF Core(MySql)Code First
⒈添加依赖
MySql.Data.EntityFrameworkCore
⒉在appsettings.json配置文件中配置数据库连接字符串
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"MySqlConnection": "server=localhost;port=3306;database=blog;user=root;password=admin"
},
"AllowedHosts": "*"
}
⒊编写数据表实体类及上下文
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace NewDb.Models
{
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; } public ICollection<Post> Posts { get; set; } }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace NewDb.Models
{
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; } public int BlogId { get; set; }
public Blog Blog { get; set; }
}
}
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace NewDb.Models
{
public class BloggingDbContext : DbContext
{
public BloggingDbContext(DbContextOptions<BloggingDbContext> options) : base(options) { } public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
}
}
⒋使用依赖注入将上下文注册为服务
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
}); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); var connection = Configuration["ConnectionStrings:MySqlConnection"]; services.AddDbContext<BloggingDbContext>(options =>
{
options.UseMySQL(connection);
});
}
⒌使用迁移创建数据库
第一种方式:"Visual Studio 2019" >“工具”>“NuGet 包管理器”>“程序包管理器控制台”,执行以下命令
Add-Migration InitialCreate -v #搭建迁移基架,以便为模型创建一组初始表
Update-Database -v #创建数据库并向其应用新的迁移
第二种方式:使用.Net Core CLI,执行以下命令
dotnet ef migrations add InitialCreate -v #搭建迁移基架,以便为模型创建一组初始表
dotnet ef database update -v #创建数据库并向其应用新的迁移
ASP.NET Core中使用EF Core(MySql)Code First的更多相关文章
- 在ASP.NET Core中通过EF Core实现一个简单的全局过滤查询
前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是 ...
- ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...
- ASP.NET Core中使用EF Core(MySql)Database First
⒈创建数据库,在数据中执行以下脚本. CREATE DATABASE Blogging; USE Blogging; CREATE TABLE Blog ( BlogId int not null P ...
- .NET Core中使用EF Core连接MySQL
最近一直在捣鼓.NET Core方面的东西,顺便写下点东西记录下 1.打开vs2017,新建一个项目 2.vs会自动生成一个项目,然后打开NuGet搜索MySql.Data.EntityFramewo ...
- .net core 中使用ef 访问mysql
1.参考文档说修改项目文件添加,就得这么做,不然会报错 <ItemGroup> <DotNetCliToolReference Include="Microsoft.Ent ...
- Asp.net core下利用EF core实现从数据实现多租户(1)
前言 随着互联网的的高速发展,大多数的公司由于一开始使用的传统的硬件/软件架构,导致在业务不断发展的同时,系统也逐渐地逼近传统结构的极限. 于是,系统也急需进行结构上的升级换代. 在服务端,系统的I/ ...
- Asp.net core下利用EF core实现从数据实现多租户(3): 按Schema分离 附加:EF Migration 操作
前言 前段时间写了EF core实现多租户的文章,实现了根据数据库,数据表进行多租户数据隔离. 今天开始写按照Schema分离的文章. 其实还有一种,是通过在数据表内添加一个字段做多租户的,但是这种模 ...
- 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家
在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互.这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能.EF团队甚至从Entity Framewo ...
- [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
随机推荐
- CDOJ 1264 人民币的构造 区间问题+数论
人民币的构造 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Status ...
- 数据结构图之三(最短路径--迪杰斯特拉算法——转载自i=i++
数据结构图之三(最短路径--迪杰斯特拉算法) [1]最短路径 最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两 ...
- vue添加外部js
1.新建节点 const s = document.createElement("script"); 2.设置节点属性 s.type = "text/javascript ...
- 「Luogu P5601」小D与笔试
题目链接 戳我 \(Solution\) 这道题官方题解的做法太复杂了,还需要扫字符串. 其实只需要两个\(map\)就好了. 一个\(map<string,stirng>\)用来记录题目 ...
- (六)C语言之隐式转换
- FinalCutPro快捷键
FinalCutPro快捷键使用 FinalCutPro的快捷键使用十分有用,特对一些基本的快捷键进行了总结 1)i:截取片段开始Initial 2)o: 截取片段结束Over i和o可以在一个素材片 ...
- SprintBoot日志
yml配置 #logging logging.file: "logs/app.log" logging: level: root: debug file: max-size: 10 ...
- Cookie类
Cookie类:用于存储会话数据 1)构造Cookie对象 Cookie(java.lang.String name, java.lang.String value) 2)设置cookie void ...
- 机器学习之SVM算法
1.知识点 """ SVM,也称支持向量机:其优化核心为求取点到平面的距离最大化,主要是解决二分类问题 y = wx+b ,且 yi * y(i) >0 恒成立 思 ...
- linux常用命令(17)find命令概览
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...