我正在开发一个将与数据源接口的.NET Core库。最好使用options pattern来设置库,但我不确定我应该期望什么类型:
什么是最佳选择?我正在使用内置DI。
答案 0 :(得分:0)
首先,稍微theory:
配置API提供了一种基于名称 - 值对列表配置应用程序的方法,这些名称 - 值对可以在运行时从多个源读取。
每个配置值都映射到一个字符串键。
内置绑定支持将设置反序列化为自定义 POCO 对象(具有属性的简单.NET类)。
选项模式使用自定义选项类来表示一组相关设置。 使用公共无参数构造函数,options类必须是非抽象的。
现在让我们回到你的案子:
无关紧要,您使用哪个类进行设置存储,它是一个包含 list 的名称 - 值对的包装器,从其中一个设置源检索。此外,可以通过键简单地从设置存储中读取特定值。
选项类是用于对相关设置进行分组的容器,其中类属性与按键名称相关。这个类必须是POCO =>具有公共属性,公共无参数构造函数等。DbContext
,DbConnection
等类不是POCO类。
任何连接字符串(CS)都可以存储为字符串。您可以使用https://www.connectionstrings.com进行检查。因此,CS可以在设置源中表示为一个键值对。另一方面,CS也是一组键值对(参数名称=值),可以分成不同的部分。例如,简单的CS到SQL Server有下一个模板:
Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;
可以在类中表示/存储,如下所示:
public class ConnectionString
{
public string Server {get;set;}
public string Database {get;set;}
...
}