【问题标题】:Connect to a database from Web.Config <appSettings> section C# / MVC从 Web.Config <appSettings> 部分 C# / MVC 连接到数据库
【发布时间】:2013-04-19 23:19:56
【问题描述】:

我目前正在使用

连接到数据库

Web.Config

<connectionStrings>
    <add name="MVCDatabase" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MVCDatabase.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

控制器

public MVCDatabase db = new MVCDatabase();

型号

public class MVCDatabase : DbContext
{
    public DbSet<Things> Tables2 { get; set; }
    public DbSet<OtherStuff> Table2{ get; set; }
} 

有没有办法将数据库连接字符串移动到 Web.Config 文件中的 [appSettings] 部分?

Web.Config 示例

<appSettings>
     <add key="ConnectionString" value="Server=dbserver; Database=mvcdatabase; User Id=username; Password=password"/>
</appSettings>

编辑(修复)

搜索加载后,我发现我需要将其放入 generate a machine key 并将其放入我的 web.config 文件中

类似的东西

<machineKey validationKey="8AA518FA814CFC6572AFD7E3E1139D1AE5A3CE9B4952B2BD2DABC1428C3CC85842A4F1060E02F8EDFA2FD5CE7AAD0F67EF9842AA96186544F4A6D5ED3444AC48" decryptionKey="9F2CABCCBC0EA7CD6B96BD263AB78962D1577AB557BB7422" validation="SHA1" />

【问题讨论】:

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


    【解决方案1】:

    试试这个:

    1. 参考系统配置

    2. 在文件顶部添加:

      using System.Configuration;
      

    然后通过添加构造函数来更改模型,如下所示:

    public class MVCDatabase : DbContext
    {
        public MVCDatabase() : base(ConfigurationManager.AppSettings["ConnectionString"])
        {
        }
    
        ...
    }
    

    然后按照您在问题中所说的那样设置配置文件。可以肯定的是,构造函数将接受配置元素的名称(假定它在 connectionStrings 上)或显式连接字符串,ConfigurationManager 应该返回。

    【讨论】:

    • 嗨,这已添加到我的模型中,并且 web.config 已更新,我现在收到此错误.. The network path was not found 通过用于用户登录的WebSecurity.InitializeDatabaseConnection() 方法,有什么想法吗?跨度>
    • 您的 DBContext 是否在单独的程序集中?如果是这样,请确保您在 Web 应用程序配置中定义的连接字符串以及程序集的连接字符串。
    • 嗨,杰克。将连接字符串添加到 web.config 文件是否解决了问题?如果是这样,您能否将问题标记为已回答?
    • 嗨,我已经用我发现的解决问题的方法更新了我的问题,谢谢 Rob
    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多