我有一个适用于数据库“TestDB”的应用程序。在我开发应用程序时,我使用linq to sql并通过拖放到TestDB.dbml文件添加我的数据表,并且.net可能会自动将连接字符串设置为我机器上的本地sql server。该应用程序应该在一些基于Windows的仪器上启动。数据库将在这些工具中是本地的。
现在,我如何更改连接字符串以确保仪器内的本地数据库将成为我的应用程序的目标?
另外,我在我的数据库中添加了用户名和密码,因此它不会是Windows身份验证连接,我的猜测是用户名和密码应该是连接字符串的一部分。
答案 0 :(得分:2)
在代码中创建DataContext时,您将传入ConnectionString。因此,您可以将其存储在配置文件中,然后使用ConfigurationManager获取ConnectionString并使用它来创建您的DataContext,如下所示:
public class SomeService
{
private SomeDataContext _db = null;
public SomeService()
{
_db = new SomeDataContext(ConfigurationManager.ConnectionStrings["SomeSqlServer"].ConnectionString);
}
public SomeService(string connectionString)
{
_db = new SomeDataContext(connectionString);
}
public SomeDataContext DB
{
get
{
return _db;
}
}
// whatever methods you want to use that access this DataContext
}
答案 1 :(得分:1)
如果在连接字符串中设置Data Source = localhost
,它应始终引用本地计算机,并且不必为运行该应用程序的每台计算机单独设置它。
编辑:就像仅供参考,查看http://connectionstrings.com/,它非常方便。