使用C#和Autofac的构造函数注入模式
我对DI模式有点陌生,手头有一些问题。 整个故事是这样的:使用C#和Autofac的构造函数注入模式,c#,dependency-injection,repository-pattern,C#,Dependency Injection,Repository Pattern,我对DI模式有点陌生,手头有一些问题。 整个故事是这样的: 有一个名为“DataGenerator”的控制台应用程序负责生成 整个应用程序的示例数据。已将对“Autofac”的引用添加到此项目中。以下是用于创建国家/地区列表的代码片段: 在上述foreach循环中出现的异常表示: {“未找到具有'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'的构造函数” 论类型 “TechnicalTest.Service.AppS
- 有一个名为“DataGenerator”的控制台应用程序负责生成 整个应用程序的示例数据。已将对“Autofac”的引用添加到此项目中。以下是用于创建国家/地区列表的代码片段:
- 还有一个项目包括应用服务。以下是其中之一:
如果您有任何帮助或想法,我们将不胜感激。您是否已在容器中注册了
DbContext
?从错误消息看,问题似乎是解决了CountryRepository
的依赖关系
在容器中注册的类的所有依赖项都必须在容器中注册。容器如何创建CountryRepository的实例而不需要它所需的所有依赖项?您是否已向容器注册了
DbContext
?从错误消息看,问题似乎在于解决CountryRepository
的依赖关系,这就是问题所在。@JackHughes:很抱歉,我发布的主类的代码缺少一行代码builder.RegisterType().As()代码>。使用服务或DbContext
是否也应该注册?容器中注册的类的所有依赖项都必须注册到容器中。容器如何创建CountryRepository的实例而不需要它所需的所有依赖项呢。。。我应该这么做,看看会发生什么happens@JackHughes字体非常感谢。。现在它工作得很好,我对此很满意。。还有一个问题:为了注册DbContext
,我参考了我的Model
项目,其中编写了DbContext
和DbSet
。您认为这种参考在设计和架构方面是否合适?我想这听起来还不错,因为我不知道还有什么别的办法。。