我有一个使用 LinqToSQL 查询数据库的项目,但我不知道如何从编译后可以编辑的文件中获取连接字符串。这样做的正确方法是什么?
我有一个由 MSLinqToSQLGenerator 构建的名为 CleansingData 的文件,如下所示:
<?xml version="1.0" encoding="utf-8"?><Database Name="MyDBApp" Class="DataClasses1DataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
<Connection Mode="AppSettings" ConnectionString="Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser" SettingsObjectName="CleansingDataReference.Properties.Settings" SettingsPropertyName="NetVisConnectionString" Provider="System.Data.SqlClient" />
<Table Name="dbo.CleansedData" Member="CleansedDatas">
<Type Name="CleansedData">
<Column Name="CleansedDataID" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
<Column Name="CleansedOperationID" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
我还有一个带有 ConnectionString 设置的设置文件,其值为
Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser;Password=MyAdmin
和一个 app.config 看起来像这样:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="CleansingDataReference.Properties.Settings.NetVisConnectionString"
connectionString="Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser;Password=MyPassword"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
所以我在一些地方得到了连接字符串!编译后我唯一可以更改连接字符串的地方是 app.config,但它实际上并没有被应用程序使用。我必须将应用程序指向不同的数据库服务器的唯一方法是更改设置文件中的连接字符串并重新编译。这显然是不对的!
那么如何更改这个项目,以便在编译后编辑连接字符串。另外,如何避免使用纯文本密码?
抱歉新手问题!
--- 阿利斯泰尔。