Asp.net mvc 为新数据库创建连接字符串

Asp.net mvc 为新数据库创建连接字符串,asp.net-mvc,connection-string,Asp.net Mvc,Connection String,我有两个连接字符串。一个用于本地测试机器,一个用于生产服务器。顶部是我当前的机器,注释掉的行是我的生产服务器的行。由于还没有数据库,我是要省略密码部分,还是要输入要创建的密码 <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" pr

我有两个连接字符串。一个用于本地测试机器,一个用于生产服务器。顶部是我当前的机器,注释掉的行是我的生产服务器的行。由于还没有数据库,我是要省略密码部分,还是要输入要创建的密码

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" providerName="System.Data.SqlClient" />
    <!--<add name="HelpDesk" connectionString="Server=SQL01;Database=HelpDesk;User Id=;Password=" providerName="System.Data.SqlClient" />-->
  </connectionStrings>


我使用实体代码优先迁移来创建数据库,那么如何让它创建密码呢?或者我需要在SQL server中完成这一部分吗?

我的建议是将其注释掉,但将连接字符串切掉,这样您就无法从中创建连接

add name="HelpDesk" connectionString="... add connection string when required ..."
差不多吧。这样,如果您忘记了需要添加数据(或者在您的情况下,只需要添加密码),那么在尝试使用此连接字符串创建连接时将抛出异常

在您的情况下,如果您只是“猜测”密码,那么很可能不是您将使用的用户名和/或密码,然后故障排除可能会因登录失败而变得更加棘手

在实际数据源(即数据库和连接到数据库的凭据)存在之前,我认为没有必要完全填充
帮助热线
连接字符串

另外,不需要在配置中注释掉连接字符串。只需使用预处理器确定应使用哪个连接字符串,具体取决于它是否为调试生成:

#if DEBUG
            _connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
#else
            _connectionString = ConfigurationManager.ConnectionStrings["HelpDesk"].ConnectionString;
#endif
编辑:在EF创建连接字符串之前,您的连接字符串应该在其中。EF将创建数据库并为您处理。因此,忽略这一点没有真正的意义。至于连接字符串的
用户id
,这将是您在SQL Server实例上的登录,因此凭据通常存储在数据库之外


话虽如此,EF将创建由
初始目录
指定的数据库,您的
用户id
和密码参数将特定于实例上的登录,因此,您应该能够创建该服务器主体并固化连接字符串。

我的建议是只保留注释,但将连接字符串切掉,这样您就无法使用它创建连接

add name="HelpDesk" connectionString="... add connection string when required ..."
差不多吧。这样,如果您忘记了需要添加数据(或者在您的情况下,只需要添加密码),那么在尝试使用此连接字符串创建连接时将抛出异常

在您的情况下,如果您只是“猜测”密码,那么很可能不是您将使用的用户名和/或密码,然后故障排除可能会因登录失败而变得更加棘手

在实际数据源(即数据库和连接到数据库的凭据)存在之前,我认为没有必要完全填充
帮助热线
连接字符串

另外,不需要在配置中注释掉连接字符串。只需使用预处理器确定应使用哪个连接字符串,具体取决于它是否为调试生成:

#if DEBUG
            _connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
#else
            _connectionString = ConfigurationManager.ConnectionStrings["HelpDesk"].ConnectionString;
#endif
编辑:在EF创建连接字符串之前,您的连接字符串应该在其中。EF将创建数据库并为您处理。因此,忽略这一点没有真正的意义。至于连接字符串的
用户id
,这将是您在SQL Server实例上的登录,因此凭据通常存储在数据库之外


话虽如此,EF将创建由
初始目录
指定的数据库,您的
用户id
和密码参数将特定于实例上的登录,因此,您应该能够创建该服务器主体并固化连接字符串。

很抱歉,我忘了粘贴连接字符串。哈哈,我现在就这么做。@teovankot,修改了原来的问题,现在包含了连接字符串。对不起,我忘了粘贴连接字符串。哈哈,我现在就这么做。@teovankot,修改了原来的问题,现在加入了连接字符串。Thomas,谢谢你的回答。然而,我想我还不清楚。我使用的是实体代码优先迁移,因此我的项目将创建数据库。我也会把它放在我的原始问题中。@djblois请看我的编辑。还是没问题。保持连接字符串没有注释。托马斯,谢谢你的回答。然而,我想我还不清楚。我使用的是实体代码优先迁移,因此我的项目将创建数据库。我也会把它放在我的原始问题中。@djblois请看我的编辑。还是没问题。保持那里的连接字符串未注释。