0

我有一个带有完整性测试的 ASP.NET MVC 项目。在测试 app.config 我有一个

    <connectionStrings>
        <add name="localhost" connectionString="server=.\SQLEXPRESS;database=repaem;
Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
    </connectionStrings>

我在 Sequelizer MSSQL 配置中创建了 Connectionstring 别名“localhost”。但是当我部署时,测试失败并显示消息“System.Data.SqlClient.SqlException:无法打开登录请求的数据库“repaem”。登录失败。” 可能,连接字符串保持不变......

我已尝试手动创建 ConnectionFactory,如http://support.appharbor.com/kb/add-ons/using-sequelizer中所述。

var uriString = ConfigurationManager.AppSettings["SQLSERVER_URI"];
var uri = new Uri(uriString);
SqlConnectionFactory factory = new SqlConnectionFactory(uri.Host, uri.AbsolutePath.Trim('/'), uri.UserInfo.Split(':').First(), uri.UserInfo.Split(':').Last());

Bind<IDatabase>().To<Database>().InSingletonScope().WithConstructorArgument("factory", factory);

但 ConfigurationManager.AppSettings["SQLSERVER_URI"] 为空。

4

1 回答 1

1

您是否在执行单元测试时尝试使用数据库?这不受支持,仅在部署代码后才插入连接字符串。

以下是一些额外的资源:

于 2013-07-25T23:12:29.203 回答