在新建Linq to sql时,会生成一个app.config的配置文件,此文件包含了连接到数据库的连接信息,但类库生成此文件之后却并不使用它,在编译之后生成的名称也跟随了类库的名称,如name.dll.config,我只是奇怪为何生成之后却不使用。
在做过几番手脚之后仍然没有成功,软件直接运行根本就找不到这个文件。忽然之间想到此文件只是类库的配置文件,如果要在程序的运行中使用,那么此文件应该为可执行文件的配置文件,也就是说名称应该与可执行文件相同,如exename.exe.config,之后再执行就可以了。
修改Linq中所生成的代码,原代码如下:
public TDataClassDataContext() :
base(global::TransferDataClass.Properties.Settings.Default.TransferDataConnectionString, mappingSource)
{
OnCreated();
}
修改为:
public TDataClassDataContext() :
base(global::System.Configuration.ConfigurationManager.ConnectionStrings["TransferDataClass.Properties.Settings.TransferDataConnectionString"].ConnectionString, mappingSource)
{
OnCreated();
}
配置文件的内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add
name="TransferDataClass.Properties.Settings.TransferDataConnectionStri
ng"
connectionString="Data Source=(local)\sql2000;Initial
Catalog=TData;Persist Security Info=True;User
ID=sa;Password="
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>