Web.Config 文件和 Linq to Sql 更改其位置

问题描述 投票:0回答:1

我的项目遇到了一个奇怪的问题。它是一个网站,现在已转换为解决方案中的 Web 应用程序。最初,类是使用 Linq to Sql .dbml 文件设置的,该文件将其连接字符串存储在 /MyProject/web.config 中。现在,项目(“Web 应用程序”)位于解决方案中,当我修改 Linq to Sql dbml 文件时,它会在 /MySolution/web.config 中创建一个 web.config 文件,其中仅包含其上一级的连接字符串,而我仍然有/MySolution/MyProject/web.config。这会导致连接字符串名称重复的错误。那么,如何让 Linq to Sql 仅使用 /MySolution/MyProject/web.config 中的 web.config 文件,或者我的整个 web.config 文件应该位于 MySolution/web.config 中(我更愿意保留它)在哪里)谢谢!

PS:数据上下文位于 /MySolution/MyProject/MyCode/Models/MyDataContext.dbml

web-applications linq-to-sql web-config
1个回答
0
投票

看起来更新 dbml 总是会强制只更新根 web.config。如果您只使用根 web.config,那么维护您的项目可能是最简单的,但您确实有另一个选择。

每个文件夹都可以有自己的配置,这就是您收到重复名称异常的原因。如果您想解决此问题,可以先删除然后添加具有相同名称的连接字符串。如果这样做,您的connectionStrings块(在

/MySolution/MyProject/web.config
内)将类似于以下内容:

  <connectionStrings>
    <remove name="MyConnectionString"/>
    <add name="MyConnectionString" connectionString="XXXXXXXXXX"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

就像我说的,我真的不建议您这样做,因为您的 dbml 仍会保存到根 web.config,因此其他开发人员可能不容易意识到发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.