gpt4 book ai didi

c# - 将 IConfigurationSection 转换为 IOptions

转载 作者:行者123 更新时间:2023-11-30 20:15:39 29 4
gpt4 key购买 nike

选项模式允许我创建包含配置值的选项对象,如下所述:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options

我需要 IDesignTimeDbContextFactory 实现中一个选项对象的值,以供 EF 在创建模型时使用。 (该配置部分中的值将用于数据播种,因此我将 IOptions 添加到 DB 上下文构造函数。)

因为我无权访问 IServiceCollection(因为它是设计时间 - 就像运行“dotnet ef migrations add”时一样,我需要有另一种方法将 IConfigurationSection(代表我感兴趣的部分)转换为我的自定义选项类。

我可以知道如何在没有依赖注入(inject)的情况下做到这一点吗?

最佳答案

您可以使用 Bind(Configuration, object) 执行任何 object 手动绑定(bind)的扩展方法.这是一个例子:

var myCustomOptions = new MyCustomOptions();
myConfigurationSection.Bind(myCustomOptions);

// Use myCustomOptions directly.

将其包装在 IOptions<T> 中, 使用 Options.Create :

IOptions<MyCustomOptions> myOptions = Options.Create(myCustomOptions);

关于c# - 将 IConfigurationSection 转换为 IOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166201/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com