asp.net core EF Sqlserver

一、EF CORE的使用

1、使用NuGet来安装EF CORE

使用程序包管理器控制台,进行命令安装

//安装 Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore

//安装 Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.SqlServer

//安装 Microsoft.EntityFrameworkCore.SqlServer.Tools
Install-Package Microsoft.EntityFrameworkCore.Tools

注意:查看解决方案是否安装,如果已经有,不需要安装

2、添加实体类 UserInfo.cs

3、在core目录 创建 数据库上下文类 MyDBContent.cs

cs 复制代码
    public class MyDBContent:DbContext
    {
        public MyDBContent(DbContextOptions<MyDBContent> options):base(options)
        {

        }
        public DbSet<UserInfo> Users { get; set; }
    }

4、在 appsettings.json 文件中添加 Sqlserver 数据库链接配置

复制代码
{
  "ConnectionStrings": {
    "SqlServerConnection": "Server=.;Database=firstcoremvc;User ID=sa;Password=111111;"
  }
}

5、在 Startup.cs 注册 EF服务

cs 复制代码
public void ConfigureServices(IServiceCollection services)
{

   //获取数据库链接字符串
   var sqlConnection = Configuration.GetConnectionString("SqlServerConnection");
   services.AddDbContext<MyDBContent>(option => option.UseSqlServer(sqlConnection));
}

6、初始化生成数据库需要用的文件

打开程序包管理控制台,执行 Add-Migration Migrations 命令。

注意:默认启动项目必须是Model所在项目

Win7系统下EF Core包管理控制台工具不支持PowerShell version 2.0,如何升级?

生成完后会在项目下出现一个 Migrations 的文件夹并包含一些初始化生成数据库需要用的文件。

7、生成数据库

在 程序包管理控制台,执行 update-database 命令生成数据库

二、EF CORE 数据升级

三、操作 EF CORE 处理数据'

cs 复制代码
public class HomeController : BaseController
{

     //通过一个字段来存储
     private MyDBContent MyDb { get; set; }

     public HomeController(MyDBContent mydbontent)
     {
         this.MyDb = mydbontent;
     }

     public IActionResult TestDB()
     {
         MyDb.Users.Add(new UserInfo() { Name="小明",Password="1111"});
         MyDb.SaveChanges();
         return Content("成功");
     }
}
相关推荐
源代码•宸17 分钟前
Golang语法进阶(协程池、反射)
开发语言·经验分享·后端·算法·golang·反射·协程池
Chan1638 分钟前
场景题:CPU 100% 问题怎么排查?
java·数据库·redis·后端·spring
我是谁的程序员1 小时前
iOS 文件管理,在不越狱的前提下管理 iPhone / iPad 文件
后端
v***59831 小时前
springBoot连接远程Redis连接失败(已解决)
spring boot·redis·后端
桦说编程1 小时前
滑动窗口限流器的演进之路:从调度器实现到 Packed CAS
java·后端·性能优化
狗头大军之江苏分军1 小时前
告别旧生态:Ant Design 6 不再支持 IE 与现代前端趋势解读
前端·javascript·后端
初次攀爬者2 小时前
SpringBoot 整合 JWT + Redis 实现登录鉴权
java·redis·后端
壹米饭2 小时前
MYSQL进阶:删除视图时视图被lock解决方案
后端·mysql
CV工程师的自我修养2 小时前
还不知道线程池如何使用?看懂这篇就可以创建合理稳定的线程池
后端·架构