从注册表LINQtoSQL获取连接字符串
本文关键字:连接 字符串 获取 LINQtoSQL 注册表 | 更新日期: 2023-09-27 18:14:53
我对如何获得存储在注册表中的connectionstring以供DataContext使用感到困惑。
我该怎么做?
public DataClassesDataContext() :
base(global::DDSTime.Properties.Settings.Default.DDSTimeConnectionString, mappingSource)
{
OnCreated();
}
不使用Properties.Settings.Default.DDSTimeConnectionString,而是从注册表的值?
我想这样做,因为应用程序在不同的位置使用,我不想在配置文件中留下connectionstring让所有人看到。只需一个小脚本,所有的机器将插入connectionstring键在他们的注册表中,没有必要创建不同的"版本",因为每个位置使用自己的SQL Server现场。
如果您还没有合适的构造函数,那么创建一个这样的构造函数应该很容易:
public DataClassesDataContext(string connectionString) :
base(connectionString, mappingSource)
{
OnCreated();
}
这意味着您需要在每次创建新的DataContext时传递connectionString。如果您愿意,可以将当前构造函数更改为类似
的内容。private static string GetDefaultConnectionString()
{
var connectionString = ... // Read value from registry
if (String.IsNullOrEmpty(connectionString))
connectionString = global::DDSTime.Properties.Settings.Default.DDSTimeConnectionString ;
return connectionString;
}
public DataClassesDataContext() :
base(GetDefaultConnectionString(), mappingSource)
{
OnCreated();
}