using EFCore7Study.DataService.Models; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace EFCore7Study.DataService { /// /// 多构造函数 /// 使用工厂对象(AddDbContextFactory)时,因多构建函数,IoC 获取对象时会异常 /// public class AppDbContext3 : DbContext { private string? _connectString; public AppDbContext3() { } public AppDbContext3(string? connectstring) { _connectString = connectstring; } public AppDbContext3(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; } } }