読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

TableAdapterに外部からConnectionを設定する

TableAdapterは内部にConnectionを保持しています。複数のTableAdapterのメソッドを1つのトランザクションに束ねたいケースはよくありますから、Connectionは外部から渡したいですよね。

インスタンスを生成してからConnectionプロパティに設定してもいいのですが、どうせならコンストラクタで渡せるようにしてしまいましょう。

TableAdapterはpartialなクラスですから、メンバーを追加するときは別のファイルに定義することができます。

using Devart.Data.PostgreSql;

namespace Models {
    public partial class HogeTableAdapter {
        /// <see cref="HogeTableAdapter"/> クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="connection">DBMSへの接続</param>
        public HogeTableAdapter(PgSqlConnection connection)
            : base()
        {
            this.Connection = connection;
        }
    }
}