プログラマーな日々

I'm a Cloud Architect and Developer, and a trainee of the network engineer training course. I have certified by AWS and Cisco (SAA/SOA/DVA/CCNA). I especially have highly motivated to reduce toils.

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;
        }
    }
}