1

我有一个从 Web 应用程序引用的类库。类库默认使用 TestProject.Properties.Settings.Default.NFU_Custom_Website_DataConnectionString1。我希望它从 ConfigurationManager.ConnectionStrings 中获取连接字符串。

我无法更改 .designer.cs 文件,因为它会被覆盖。如果可能的话,我想避免创建一个继承自 .dbml 文件的类并在其中设置连接字符串。我的老板建议创建一个 Web 应用程序项目并从中删除所有 default.aspx 等文件并使用它而不是类库,这是一个可行的解决方案吗?

谢谢

4

1 回答 1

3

你可以这样做。我们无意中这样做了,当我切换到类库时遇到了这个问题。而不是切换回来,我在这里找到了答案:Point connectionstring in dbml to app.config

总之:

  1. 在设计器中将 DBML 的连接属性设置为(无)。这将从 DB Context 类中删除默认构造函数。
  2. 使用默认构造函数为您的 DB 上下文创建部分类:

    using System.Configuration;

    namespace TestProject
    {
        public partial class MyDBContext
        {
            public MyDBContext() : base(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString)
            {
                OnCreated();
            }
        }
    }
于 2013-07-16T00:59:31.320 回答