我对 StructureMap 的 IoC(以及一般的 IoC)有点陌生。从示例中,我的东西设置如下:
默认注册表:
public DefaultRegistry() {
Scan(
scan => {
scan.TheCallingAssembly();
scan.WithDefaultConventions();
scan.With(new ControllerConvention());
});
For<IRepository>().Use<Repository>().Ctor<string>("connectionString").Is(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString);
//For<IExample>().Use<Example>();
}
然后,在任何 Action 需要数据库的每个控制器中,我都有:
private IRepository _Repository;
public TipsController(IRepository repository)
{
_Repository = repository;
}
当我需要使用它时,我只是这样做:
data.Information = await _Repository.GetInformationAsync();
当我使用 ADO.NET 时,我总是对所有内容都有一个 using 语句。我见过使用 using 语句的实体框架的示例。但是,当将 EF 与 StuctureMap 结合使用时,我是否需要以某种方式将 using 语句包裹起来?如果是这样,我该怎么做?