c# - tipos - AddDbContext fue llamado con la configuración, pero el tipo de contexto ''MyContext'' solo declara un constructor sin parámetros?
llamar una clase en c# (1)
Como lo dijo el error, si configura su MyContext través de AddDbContext entonces también debe agregar un constructor que reciba un parámetro de tipo DbContextOptions<MyContext> en su clase MyContext como se muestra a continuación
public MyContext(DbContextOptions<MyContext> options)
: base(options)
{ }
Si no lo hace, ASP.Net Core no podrá inyectar la configuración que estableció con AddDbContext .
En la siguiente aplicación de consola (.Net core 2.0), scaffold-dbcontext creó el siguiente DbContext
public partial class MyContext : DbContext
{
public virtual DbSet<Tables> Tables { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Program.Conn); }
}
protected override void OnModelCreating(ModelBuilder modelBuilder) { .... }
}
En el Main () ( static void Main(string[] args) ), el siguiente código
var services = new ServiceCollection();
var conn = configuration.GetConnectionString("MySource");
services.AddDbContext<MyContext>(o => o.UseSqlServer(conn)); // Error
tiene el siguiente error en tiempo de ejecución?
Se llamó a AddDbContext con la configuración, pero el tipo de contexto ''MyContext'' solo declara un constructor sin parámetros. Esto significa que la configuración pasada a AddDbContext nunca se utilizará