using Npgsql;
using Seasar.Quill.Database.DataSource.Connection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestApp.Helper {
public class ConnectionStringHelper : IConnectionString {
public string GetConnectionString() {
var builder = new NpgsqlConnectionStringBuilder();
builder.Host = Properties.Settings.Default.DbServerHost;
builder.Port = Properties.Settings.Default.DbServerPort;
builder.Database = Properties.Settings.Default.DbServerDatabase;
builder.Username = Properties.Settings.Default.DbServerUserName;
builder.Password = DecryptPassword(Properties.Settings.Default.DbServerPassword); // 設定ファイル上は暗号化すること
builder.Timeout = Properties.Settings.Default.DbServerTimeout;
builder.CommandTimeout = Properties.Settings.Default.DbServerCommandTimeout;
return builder.ConnectionString;
}
}
}
App.configは次の通りです。
<quill>
<dataSources>
<dataSource name="DataSource">
<provider>PostgreSQL</provider>
<connectionString>TestApp.Helper.ConnectionStringHelper</connectionString>
<class>Seasar.Extension.Tx.Impl.TxDataSource</class>
</dataSource>
</dataSources>
<assemblys>
<assembly>Seasar</assembly>
<assembly>Seasar.Dao</assembly>
<assembly>Seasar.Windows</assembly>
<assembly>Seasar.Dxo</assembly>
</assemblys>
</quill>
ご参考までに
以下独り言
DBFlute.NETは非常に便利なんですが、
さすがにSeaser.NETを使い続けられなくなってきているし、
DBFlute.NET自体も大量のワーニングを吐いてくれるので、
.NET5 対応してくれないかなぁと思う今日この頃です。