Внедрение AppDbContext с помощью конструктора с исключением параметровC#

Место общения программистов C#
Ответить
Anonymous
 Внедрение AppDbContext с помощью конструктора с исключением параметров

Сообщение Anonymous »

Я пытаюсь использовать AppDbContext (принадлежит ядру платформы сущностей) в одном из моих классов и создать его экземпляр с помощью autofac, вот как это выглядит:

Код: Выделить всё

public class AppDbContext : IdentityDbContext
{
public AppDbContext(DbContextOptions options) : base(options)
{

}

protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity().Property(m => m.Service).HasConversion();
builder.Entity().HasMany(m => m.Messages).WithOne(u => u.User).IsRequired();
base.OnModelCreating(builder);
}

public DbSet Messages { get; set; }
public DbSet UsersCredentialsModels { get; set; }
public DbSet CookieModel { get; set; }

}
Мне трудно полностью понять, как это правильно реализовать. Может ли кто-нибудь бросить кость?

Код: Выделить всё

public static IContainer Startup()
{
var builder = new ContainerBuilder();
// builder.RegisterType().As().InstancePerRequest();

builder.RegisterType().As();
builder.RegisterType().As().SingleInstance();
builder.RegisterType().As();
var instance = QuartzInstance.Instance;
builder.RegisterType().AsImplementedInterfaces();
builder.RegisterType().AsImplementedInterfaces();
builder.RegisterType().AsImplementedInterfaces();
builder.RegisterModule(new QuartzAutofacJobsModule(typeof(ConsumerSchedulerJob).Assembly)).RegisterAssemblyModules();
builder.RegisterModule(new QuartzAutofacJobsModule(typeof(DailyCleanUpJob).Assembly)).RegisterAssemblyModules();
builder.RegisterInstance(QuartzInstance.Instance).AsImplementedInterfaces();
return builder.Build();
это ошибка, которую я получаю.


DependencyResolutionException: ни один из конструкторов, найденных с помощью «Autofac.Core.Activators.Reflection.DefaultConstructorFinder» для типа «JobsImpl.DailyCleanUpJob», не может быть вызван с доступными службами и параметрами:
Невозможно разрешить параметр «Контекст Utils.AppDbContext» конструктора «Void .ctor(Utils.AppDbContext)».


Подробнее здесь: https://stackoverflow.com/questions/608 ... -exception
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»