netcore mvc efcore 简单框架搭建+增删改查
该例子使用的数据库是 mysql;.net core 框架,版本(sdk)是3.1。
一:创建个net core 版本的mvc
目标框架选 net core3.1
二:项目创建好之后 先安装今天要使用到的nuget包(下载的包最好也是3.1版本的)
Microsoft.EntityFrameworkCore;
Microsoft.EntityFrameworkCore.Design;
Microsoft.EntityFrameworkCore.Tools;
Pomelo.EntityFrameworkCore.MySql;
例如:(你可以手动用nuget界面安装,也可以写语句安装)
三:整体配置
1.数据库连接在appsettings.json里
//连接数据库 "AppConfig": { "AesKey": "11*222sdf52sf2f2fsdf/.*222,ssddd", "DbConn": "Server=localhost;port=3306;database=user;uid=root;pwd=root;Convert Zero Datetime=True;" }
2.创建一个类 :AppConfig
public class AppConfig { /// <summary> /// Aes密钥 /// </summary> public string AesKey { get; set; } /// <summary> /// 数据库链接字符串 /// </summary> public string DbConn { get; set; } }
3.添加一个类:NetcoremvcDbcontext作为上下文,并且继承: DbContext类
public class NetcoremvcDbcontext : DbContext { private string _connectionString; public NetcoremvcDbcontext(IOptionsSnapshot<AppConfig> options) { _connectionString = options.Value.DbConn; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var connectionString = _connectionString; //连接数据库UseMySql关键词 //MaxBatchSize一个指示将编译为单个批处理的最大页数的整数值。 默认页数为 1000。(当前最大处理量是30条) optionsBuilder.UseMySql(connectionString, b => b.MaxBatchSize(30)); } public DbSet<User> User { get; set; } }
四:创建一个实体类
public class User { public string Id { get; set; } public string Name { get; set; } public string Phone { get; set; } public int Age { get; set; } public string Like { get; set; } }
五:创建一个新的带有模板的视图控制器
1. 创建新的控制器
2.选中你的实体
六:文件startup配置
因为启动项program默认指向startup,所以配置都写在startup里
首先startup文件ConfigureServices方法中添加
services.AddDbContext<NetcoremvcDbcontext>(); services.Configure<AppConfig>(Configuration.GetSection("AppConfig"));
startup中Configure方法里的路由换成你自己项目的默认路由
1.找到程序包管理后台输入添加语句:Add-Migration init1 添加新的迁移
成功后项目中会出现一个名为Migrations的文件夹
说明生成成功了
2.更新语句:Update-Database
更新语句是更新数据库到指定的迁移
查看数据库中表已经创建了
使用这个mvc视图模板创建的控制器和视图可以自动生成简单地 增删改查方法,现在去看下你新创建的控制器是不是有基础的增删改查,你也可以运行一下项目看效果
下面是我的效果图
该文章的对象关系映射只是用了最简单的,我觉得最合适最好用的请查看文章 :EF Core对象关系映射多种方法
这个例子很简单建议自己动手写。
百度网盘
链接:https://pan.baidu.com/s/1g0F3jH2aou9Ka7X0ulKhHg
提取码:dtsp