【问题标题】:How to get connection string from another project in LINQ to SQL?如何从 LINQ to SQL 中的另一个项目获取连接字符串?
【发布时间】:2012-02-29 06:45:48
【问题描述】:

我在一个解决方案中有 3 个不同的项目。我把我的连接字符串放在这样的第一个项目中

 <connectionString name="My Connection String">
     <parameters>
     <parameter name="Integrated Security" value="True" />
     <parameter name="server" value=".\SQLEXPRESS" isSensitive="true" />
     <parameter name="database" value="MyDatabase" isSensitive="false" />
     </parameters>
  </connectionString>

现在在另一个项目中,我创建了 LINQ to SQL 类,它生成了 app.config 文件并在其中创建了连接字符串?如何从另一个项目的现有 .config 文件中读取连接字符串?

【问题讨论】:

  • 你想从另一个项目中获取一个项目的连接字符串吗?你只需要通过一些类/属性来暴露它
  • 你能解释一下吗?我想更改我的 LINQ to SQL 类的连接字符串以从另一个项目的连接字符串中读取它。
  • connectionString 是设置在您解决方案中的web.config 还是app.config 文件中?
  • 它在项目的web.config 文件中。
  • @mesiesta 看看我的回答。

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


【解决方案1】:

我假设您正在使用应用程序设置并且在您的 FirstProject 中有一个连接字符串。

像这样:

生成的设置类标记为internal sealed partial ..,因此您无法通过MyProject.Properties.Settings.. 直接访问它。

你只需创建一个类来公开它:

namespace FirstProject
{
    public class ThisProjectSettings
    {
        public static string ConnectionString
        {
            get
            {
                return Settings.Default.Conn;
            }
        }
    }
}

然后在您的 second 项目中使用它,如下所示:

FirstProject.ThisProjectSettings.ConnectionString

【讨论】:

  • 我已经考虑过了。但在这种情况下,我不想将第一个项目的引用添加到第二个。我认为它不正确,因为首先是后端,其次是 UI。他们可能是独立的。所以有更好的方法,让它更通用。例如,为所有项目制作连接字符串文件。
  • 所以 UI 不依赖于后端?你可以推出自己的配置存储机制,但你应该弄清楚你是否真的需要这样做。
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
相关资源
最近更新 更多