una tipos programacion objetos metodos llamar herencia ejemplos crear como clases clase atributos c# entity-framework .net-core entity-framework-core

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á