Web Api Core 8.0连接sql server 使用脚手架Tools生成数据库实体以及数据库上下文

1.连接环境需要引入的NuGet包

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.Tools

注意:小伙伴们注意我NuGet包引入的版本都是8.0.7,尽量跟你创建的Web项目版本一样(8.+都行),如果不同后面脚手架生成会报错的应该是兼容性或者依赖性的问题等等

这个就是建Web项目框架的版本

环境配置就可以进行连接了

2.在appsettings文件配置我们的连接字符串

"ConnectionStrings": {
  "DefaultString": "Data Source=Win10p22h2vm;Initial Catalog=UserInfo; User ID=sa;Password=123456;TrustServerCertificate=True"
},

要把连接字符串改成自己的奥


Data Source是连接数据的服务器名称

Initial Catalog是数据库的名称

User ID=name;Password=******对应数据库使用Sql server身份认证的方式登录的账号密码

TrustServerCertificate=True证书链接的问题,加上可以绕过这个问题

3.创建数据库数据库上下文DataContext,继承EF Core的DbContext

using Microsoft.EntityFrameworkCore;

namespace Sql_Server_Tools.Models
{
    public class DataContext:DbContext
    {
        //这段代码定义了一个构造函数。DataContext 类继承自某个基类(是 DbContext ),
        //通过这个构造函数接收 DbContextOptions<DataContext> 类型的参数,并将其传递给基类的构造函数。
        //这使得 DataContext 能够获取和使用配置的数据库连接选项
        public DataContext(DbContextOptions<DataContext> options):base(options) 
        { 
        }
        //OnModelCreating方法是EF Core 的 DbContext 类中用于自定义实体模型的配置和关系映射的
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            
        }

        //这是重写了基类中的 OnConfiguring 方法。在这个方法中,调用了基类的同名方法。通常,在这个方法中可以进行一些额外的数据库配置设置,
        //比如设置连接字符串、启用日志记录、配置数据库提供程序的特定选项等。但在当前给出的代码中,没有进行额外的自定义配置。
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
        }
    }
}
4.使用脚手架生成数据库上下文,以及实体类

        4.1:在界面最上方找到工具-》NuGet包管理器-》程序包管理器控制台

        4.2输入命令

                Scaffold-DbContext "YourConnectionString" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

        Scaffold-DbContext:是 Entity Framework Core 工具提供的一个命令,用于根据现有数据库结构生成数据库上下文和实体类

        "YourConnectionString":这是数据库的连接字符串也就是上面在appsettings文件中配置的连接字符串

          Microsoft.EntityFrameworkCore.SqlServer:指定要使用的数据库提供程序,这里表示使用的是针对 SQL Server 的提供程序

        -OutputDir Models:这是一个选项,用于指定生成的实体类和数据库上下文文件的输出目录。在这个例子中,生成的文件将被放置在名为 Models 的文件夹中(也可以自己定义一个路径哦)

我的命令就是这样子的

Build started...开始构建

Build succeeded 构建成功

黄色警告是连接字符串不安全,可以不用管(上面我讲了如果版本不同就可能会导致这里会生成报错的)

可以看到脚手架已经都帮助我们都生成好了上下文和实体类,非常方便

5.在Program文件来配置连接服务注入

//配置连接服务数据库上下文注入
string ConnectionString = builder.Configuration.GetConnectionString("DefaultString");
builder.Services.AddDbContext<UserInfoContext>(options => options.UseSqlServer(ConnectionString));

6.上面配置完就可以对我们的数据库进行增删改查的操作啦,我自己写了简单的查询来测试一下是否可以正常对数据库进行操作,看如下图可以看出也是可以操作的

最后的最后,细节的小伙伴会发现我们写了两个数据库上下文的DataContext和UserInfoContext,一个里面什么都没有写,一个是脚手架帮助我们写的,我们的列表查询操作就是对UserInfoContext进行的操作,这里说一下,我们自己创建的上下文的类可以不用写,也是可以的,自己定义一个上下文类它可以满足定制化需求,处理一些关系复杂的配置等等,练习的时候还是写上养成好的习惯,好了,结束

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的教程,帮助您使用 ASP.NET Core 6.0 框架和 SQL Server 数据库生成注册登录界面。 1. 安装 SQL Server 数据库 如果您还没有安装 SQL Server 数据库,请使用此链接下载并安装 SQL Server 数据库:https://www.microsoft.com/en-us/sql-server/sql-server-downloads 2. 创建 ASP.NET Core 6.0 项目 打开 Visual Studio 2022 或更高版本,创建一个新的 ASP.NET Core 6.0 Web 应用程序项目。在创建项目时,选择 Web 应用程序模板。 3. 添加 Entity Framework Core 在解决方案资源管理器中,右键单击项目文件夹,选择“管理 NuGet 包”。在 NuGet 包管理器中,搜索并安装 Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools 包。 4. 创建数据库模型 在项目根目录中,创建一个名为 Models 的文件夹。在该文件夹中,创建一个名为 ApplicationUser.cs 的新类。在该类中,定义用户模型: ``` using Microsoft.AspNetCore.Identity; namespace YourProjectName.Models { public class ApplicationUser : IdentityUser { // 可以在此定义其他用户属性 } } ``` 5. 创建数据库上下文 在 Models 文件夹中创建一个名为 ApplicationDbContext.cs 的新类。在该类中,继承 DbContext 并将 ApplicationUser 添加到 DbSet: ``` using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; namespace YourProjectName.Models { public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } } } ``` 6. 配置应用程序 在 Startup.cs 文件中,配置应用程序以使用 Entity Framework CoreSQL Server 数据库。在 ConfigureServices 方法中,添加以下代码: ``` services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores<ApplicationDbContext>(); ``` 在 appsettings.json 文件中,添加以下代码: ``` "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true" }, ``` 7. 生成注册和登录功能 在 Visual Studio 中,右键单击“Controllers”文件夹,选择“添加” > “新建项目项”。在“添加新项目项”对话框中,选择“Identity”模板,并选择“注册”和“登录”选项。单击“添加”按钮,Visual Studio 将为您生成注册和登录功能。 8. 运行应用程序 按 F5 键或单击“调试” > “启动调试”按钮以运行应用程序。您现在可以访问注册和登录页面。 希望这个简单的教程可以帮助到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值