MS-SQL Server:[PowerShell命令]
非Windows账号密码模式:
Scaffold-DbContext "Data Source=192.4.22.155;Initial Catalog=PcDataInfo;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir DBModels -Force
DB Context参数化: optionsBuilder.UseSqlServer(AppSettings.Get("db").ToString());
Windows账号密码模式:
Scaffold-DbContext "Data Source=192.4.22.155;Initial Catalog=PcDataInfo; Integrated Security=SSPI;integrated security=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir DBModels -Force
DB Context参数化: optionsBuilder.UseSqlServer(AppSettings.Get("db").ToString());
Oracle:[PowerShell命令]
Scaffold-DbContext -Connection "User Id=ee;Password=eeDEV;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.4.22.155)(PORT=1522))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=EEDEV)));"Oracle.EntityFrameworkCore -Force -Project BGJob -OutputDir OracleModels -Context OracleContext -Tables emp
DB Context参数化: optionsBuilder.UseOracle(Utils.AppConfig.GetSection("ConnectionStrings:OracleDB"));
PostgreSQL:[dotnet命令]
dotnet-ef dbcontext scaffold "Server=192.4.22.155;Database=EEDEV;User ID=ee;Password=123;" "Npgsql.EntityFrameworkCore.PostgreSQL" -o PGModel --schema EEDEV -f
DB Context参数化: optionsBuilder.UseNpgsql(Utils.AppConfig.GetSection("ConnectionStrings:PostgreSQL"));
DB Context取配置参数化写法;另外DB Schema最好三个环境[DEV/QAS/PRD]名字一致,否则需要手动修改dbcontext里面的schema名字。