走通 .net6 + ef + sqlserver crud

192 阅读1分钟

1 sql server 安装与连接,基础表创建

1.1 创容器。

拉镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest

创容器
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Abc!@#123456" -p 1433:1433 -v c:/database/ms2019:/var/opt/mssql/data --restart=always --name mssql -d mcr.microsoft.com/mssql/server:2019-latest image.png

1.2 使用工具连上数据库。 MSSM

客户端工具,连接是注意细节,我是windows 下的容器。 image.png

1.3 建库建表 test_db tb_stu

image.png

2 v studio 创建 项目,并完成.net ef 与sqlserver 的表融合。

2.1 创建 asp.net core + webapi

image.png

2.2 安装依赖包。

image.png

2.3 data first,打开终端运行。

dotnet ef dbcontext scaffold "Data Source=172.31.192.1;User ID=sa;Password=Abc!@#123456;DataBase=test_db;Trusted_Connection=True;integrated security=false;" Microsoft.EntityFrameworkCore.SqlServer -o Models

相关文件生成如图 image.png image.png

3 如何使用。

3.1 将dbContent 交ioc 管理 。

1 首先 appsetting.json 添加配置

  "ConnectionStrings": {
    "DefaultConnection": "Data Source=172.31.192.1;User ID=sa;Password=Abc!@#123456;DataBase=test_db;Trusted_Connection=True;integrated security=false;"

2 testDbContext.cs 修改

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                base.OnConfiguring(optionsBuilder);
            }
        }

3 program.cs关键技巧,标红后,在vs 下右键智能修补,解决using 问题

#region dbContent 对象放入到ioc 窗口进行管理 
builder.Services.AddDbContext<testDbContext>(
    option =>
    {
        option.UseSqlServer();
    });
#endregion

未完待续。