using EFCore7Study.DataService.Models; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace EFCore7Study.DataService { /// /// 多构造函数 /// 为使用工厂方式注册,加 ActivatorUtilitiesConstructor 特性 /// public class AppDbContext : DbContext { /// /// 连接字符串,可实现属性设置,避免多构造函数在Factory时,IoC异常 /// public string? ConnectString = @"Server=127.0.0.1\SQL2019;Database=EFCore7Study;User Id=sa;Password=gly-bicijinlian;Encrypt=True;TrustServerCertificate=True;"; public AppDbContext() { } public AppDbContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { if (string.IsNullOrWhiteSpace(ConnectString)) { ConnectString = @"Server=127.0.0.1\SQL2019;Database=EFCore7Study;User Id=sa;Password=gly-bicijinlian;Encrypt=True;TrustServerCertificate=True;"; } optionsBuilder .UseSqlServer(ConnectString) .EnableSensitiveDataLogging(); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable("Account"); base.OnModelCreating(modelBuilder); } public DbSet Accounts { get; set; } } }