C# DbContext与Autofac

C# DbContext与Autofac,c#,entity-framework,dependency-injection,C#,Entity Framework,Dependency Injection,我在Autofac中注册System.Data.Entity.DbContext时遇到问题。 我的类的构造函数是: public DeviceService(IDevice device) { _device = device; } public Device(DbContext con) { _localDb = con; } 我试过这个: _container = new ContainerBuilder(); _container.RegisterTy

我在Autofac中注册System.Data.Entity.DbContext时遇到问题。 我的类的构造函数是:

public DeviceService(IDevice device)
{
   _device = device;
}
public Device(DbContext con)
{
   _localDb = con;
}
我试过这个:

_container = new ContainerBuilder();            
_container.RegisterType<DbContext>().As<DbContext>().InstancePerLifetimeScope();
_container.RegisterType<Device>().As<IDevice>();
_container.RegisterType<DeviceService>().As<IDeviceService>();
_dependencyContainer = _container.Build();
\u container=newcontainerbuilder();
_container.RegisterType().As().InstancePerLifetimeScope();
_container.RegisterType().As();
_container.RegisterType().As();
_dependencyContainer=_container.Build();
但它不起作用,因为当我尝试解析
\u dependencyContainer.resolve()
时,我遇到了以下异常:

“Autofac.Core.dependencResolutionException”类型的异常 在Autofac.dll中发生,但未在用户代码中处理

其他信息:激活时引发异常 WpfApplication2.DeviceService->WpfApplication2.Device-> System.Data.Entity.DbContext


我在谷歌找不到解决方案。解决方案是什么?

我发现Autofac无法注入System.Data.Entity.DbContext。但是您可以插入该DbContext->MyContext:DbContext->

_container.RegisterType<MyContext>().AsSelf()
\u container.RegisterType().AsSelf()

你能展示dbcontext的构造函数吗?顺便说一句,你没有自己的dbcontext吗?你可以尝试将容器.RegisterType().As()更改为容器.RegisterType().AsSelf()它是EntityFramework的dbcontext,所以我不能展示那个dbcontext的构造函数。Pavel Anikhouski:这引发了同样的异常。