.net - 两个 .NET 项目,一个 DB 连接字符串?

标签 .net asp.net-mvc configuration connection-string

我有一个包含两个项目的 .NET 解决方案:

  • 一个 ASP.NET MVC 项目,“网站”
  • 类库,“模型”

  • “模型”项目包含一个 Linq-to-SQL 数据上下文以及一些扩展数据库对象的部分类。

    连接字符串在“网站”项目的 web.config 中定义。

    然而,“模型”项目似乎有自己的 app.config,其中单独定义了数据库连接。

    这意味着如果连接字符串发生变化,我将不得不更新两个项目。

    有没有一种方法可以将连接字符串集中到一个地方,并且仍然让两个项目都使用它?

    最佳答案

    创建一个与数据上下文相同的部分类,并使用此代码强制使用 web.config 字符串而不是 app.config。将分部类放在类库中与模型相同的位置。

    public partial class YourDataContext 
    {
        partial void OnCreated()
        {
            ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["PrimaryConnectionString"];
    
            if (cs != null)
            {
                 this.Connection.ConnectionString = cs.ConnectionString;
            }
        }
    }
    

    查看此问题了解更多信息 Preferred Method for connection string in class library
    RichardOD 发布了一个链接,指向我认为最能描述我们问题的内容 LINQ To SQL and the Web.Config ConnectionString Value

    关于.net - 两个 .NET 项目,一个 DB 连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322759/

    相关文章:

    asp.net-mvc - ASP.NET MVC : How to create a usable UrlHelper instance?

    c# - WCF 和 SOAP header - 如何确保默认 header 元素未在请求中签名?

    .net - 是否可以在 serilog 中更改颜色?

    c# - .NET 中的 SQL 注入(inject)防护

    javascript - 如何在重定向后立即执行 JavaScript 操作?

    javascript - 正在加载 ASP :chart from javascript

    design-patterns - 创建应用程序/产品配置的设计模式/指南

    docker - 在 daemon.json 中配置主机后无法启动 docker

    c# - .NET Core 中的用户配置设置

    .net - 如何在 .net 中对 HTTPS 请求进行数字签名?