2017-05-31 83 views
0

我构建了一个Linq-to-SQL页面作为实验。我通过Linq-to-SQL调用存储过程。创建的designer.cs文件使用错误的DataSource和连接字符串。我没有看到任何地方设置这些默认值。将LINQ中的默认数据源和连接字符串更改为SQL

现在我正在做一些愚蠢的事情 - 我每次修改.dbml文件时都会手动更改这两行。

我想,也许,我可以做这样的事情:

using (TEMPDataContext dbContext = new TEMPDataContext("MyConnectionString")) 
{ 
    .... 
} 

但是,这并不工作。

而且,我想了解一下这条线从designer.cs文件:

[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="DataSource")] 

由于数据库连接字符串中提供的,这是为什么需要?

回答

0

当您创建.dbml文件时,您必须输入连接字符串信息,然后它会自动将连接字符串添加到您的Web配置中。如果以某种方式搞砸了,那就放下并重新创建.dbml文件。

如果由于某种原因您不能删除并重新创建,然后找出它正在使用哪个连接字符串,并修改它或创建另一个连接字符串,然后执行查找并将另一个连接字符串替换为新的连接字符串。

0

啊......我想出了如何以非愚蠢的方式做到这一点。有实际上是一个SO话题解释这一点,但我看错了:

private string connectionString = 
System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 

. 
. 
. 
using (TEMPDataContext dbContext = new TEMPDataContext(connectionString)) 
{ 
    .... 
} 

这里有一个参考链接: LINQ to SQL connectionstring

他的解决方案定义中,我不喜欢在web.config键(变量)做。除此之外,我也在做同样的事情。有效。