Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

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