我有一个包含两个项目的 .NET 解决方案:
“模型”项目包含一个 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/