【问题标题】:Changing Default DataSource and ConnectionString in LINQ to SQL在 LINQ to SQL 中更改默认数据源和 ConnectionString
【发布时间】:2017-05-31 17:27:27
【问题描述】:

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

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

我想,也许,我可以这样做:

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

但这不起作用。

另外,我想知道 Designer.cs 文件中的这一行:

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

既然数据库是在连接字符串中提供的,为什么需要这个?

【问题讨论】:

    标签: c# asp.net linq-to-sql connection-string datasource


    【解决方案1】:

    当您创建 .dbml 文件时,您必须输入连接字符串信息,然后它会自动将连接字符串添加到您的 Web 配置中。如果这搞砸了,那么只需删除并重新创建 .dbml 文件。

    如果由于某种原因您无法删除并重新创建,请找出它正在使用的连接字符串,然后对其进行修改或创建另一个连接字符串,然后在另一个连接字符串上查找并替换为您的新连接字符串。

    【讨论】:

      【解决方案2】:

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

      private string connectionString = 
      System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
      
      .
      .
      .
      using (TEMPDataContext dbContext = new TEMPDataContext(connectionString))
      {
           ....
      }
      

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

      他的解决方案在 web.config 中定义了一个键(变量),我不想这样做。除此之外,我也在做同样的事情。它奏效了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多