| 著作一覧 |
2.0.4へ更新。あと、trackbackプラグインの設定が不完全だったので修正(tb.rbをtDiaryのルートへコピー)。
ASP.NETでテーブルアダプタを作るとソース無しのXSDだけになる。
このため、ちょっと動作を変えようとするといささか不便(単なるComponent派生クラスだし)。でも、利用するとわかるが、C#でインテリセンスもきくし、内部的にはタイプは生成されている。
したがって、既知のメソッドを操作することは可能。
以下の例では、コマンドタイムアウトの時間を初期値の30から120に変えている。
// クェリーに時間がかかり、
//「タイムアウトが発生しました。操作が完了する前にタイムアウトの時間が経過したか、サーバーが応答していません」
// という例外になるのに対応。接続タイムアウトについては既定の15秒を利用するので
// ここに来た場合は、ほぼ接続はできている。
internal class DerivedTableAdapter : FooTableAdapters.BarTableAdapter
{
// データベースデザイナで生成したメソッド
public override BarDataTable GetData(...)
{
// CommandCollectionプロパティにSqlCommandが保持されている
foreach (System.Data.SqlClient.SqlCommand c in CommandCollection)
{
c.CommandTimeout = 120;
}
return base.GetData(...);
}
}
ジェズイットを見習え |