【发布时间】:2018-10-03 19:39:34
【问题描述】:
我在IServiceCollection 上有一个扩展方法,如下所示:
public static IServiceCollection AddMyProjData(this IServiceCollection services, Action<MyProjDataOptionsBuilder> optionsBuilder)
{
services.Configure(optionsBuilder);
services.AddDbContext<MyProjDbContext>(contextOptions => contextOptions
.UseLazyLoadingProxies()
.UseMySql("?????")
);
return services;
}
MyProjOptionsBuilder 类如下所示:
public class MyProjDataOptionsBuilder
{
public string ConnectionString { get; set; }
}
如何在我的扩展方法中访问属性ConnectionString?
我想做这样的事情:
var connectionString = optionsBuilder().ConnectionString;
PS。
我知道我可以直接将string 作为参数而不是Action 传递给扩展方法AddMyProjData。但在我的实际项目中,我需要设置更多的设置,而不仅仅是一个ConnectionString。
我也喜欢使用Action 来配置服务的风格。
【问题讨论】:
标签: c# asp.net-core asp.net-core-2.0 startup