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" を開けません。ログインに失敗しました。」というメッセージが表示されてテストが失敗します。おそらく、接続文字列は同じままです...

http://support.appharbor.com/kb/add-ons/using-sequelizerで説明されているように、手動で ConnectionFactory を作成しようとしました。

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"] は null です。

4

1 に答える 1