EFCore 在APS.NET MVC中使用
1.创建一个APS.NET MVC项目
2.安装Nuget包
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
3.在Models中添加Book实体类
public class Book { /// <summary> /// id /// </summary> public int Id { get; set; } /// <summary> /// 书本名称 /// </summary> public string Name { get; set; } /// <summary> /// 价格 /// </summary> public int Price { get; set; } /// <summary> /// 所属类型 /// </summary> public string Type { get; set; } }
4.在appsettings.json中添加链接数据库链接
"ConnectionStrings": { "connStr": "server=.;database=BingDbContext;uid=sa;pwd=123456;TrustServerCertificate=True;" }
5.新建一个类,我这点取名BingBDContext.cs
public class BingBDContext : DbContext { public BingBDContext(DbContextOptions<BingBDContext> options) : base(options) { } //相当于 OnConfiguring 方法 //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) //{ // optionsBuilder.UseSqlServer("链接数据库链接"); //} public DbSet<Book> Books { get; set; } public DbSet<Post> Posts { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { //重新定义表名,如果不重新定义,那么就是 Books和 Posts modelBuilder.Entity<Book>().ToTable("NewBooks").HasComment("表名注释"); modelBuilder.Entity<Post>().ToTable("NewPosts"); //将Book实体类中的Price属性设置为非空,注释为售价,类型为varchar(50),将表中Price属性改为NewPrice, modelBuilder.Entity<Book>().Property(p => p.Price) .IsRequired() .HasComment("售价") .HasColumnType("varchar(50)") .HasColumnName("NewProice"); } }
6.在Program.cs中注入BingBDContext
builder.Services.AddDbContext<BingBDContext>(p => { p.UseSqlServer(builder.Configuration.GetConnectionString("connStr")); });
//DbContext连接池: 解决频繁创建和销毁带来的性能消耗 builder.Services.AddDbContextPool<BingBDContext>(p => { p.UseSqlServer(builder.Configuration.GetConnectionString("connStr")); });
7. 打开解决方案文件,cmd进入,执行
dotnet ef migrations add 自己取一个名字
dotnet ef database update
dotent 需要安装运行时,
dotnet ef 也需要安装
可查看 https://i.cnblogs.com/posts/edit;postId=18283747 安装dotnet运行时,和dotnet ef
-----------------------------------------------------------------------------------------------------------------------------------------------------
7-1: 在vs 包管理控制台执行
add-migration 自定义一个名字
update-database
8.在HomeController.cs中使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!