我一直在考虑在 asp.net Core Web 应用程序中将 CQS 模式与 EF Core 结合使用。
我找到了这个示例,这似乎是我想要的,但是使用的 DI 容器是 Ninject。
我似乎无法将 Ninject 配置转换为 asp.net core 中的内置 DI 容器。
具体来说,我的问题是这些行:
Bind<IQueryFactory>().ToMethod(t => new QueryFactory(x => Container.Current.Resolve(x))).InTransientScope();
Bind<ICommandsFactory>()
.ToMethod(t => new CommandFactory(x => (object[]) Container.Current.ResolveAll(x)))
.InTransientScope();
我已经走到这一步了:
services.AddTransient<IQueryFactory>(qf => new QueryFactory(q => q));
但我不确定如何在 asp.net core di 容器中实际执行此部分:
Container.Current.Resolve(x)
看来我想太多了,我已经解决了我的问题。
services.AddTransient<IQueryFactory>
(serviceProvider => new QueryFactory(serviceProvider.GetService));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)