現在、LINQ-to-SQL を介してさまざまなデータベースに依存する (したがって接続する) アプリケーションを開発しています。データベースの 1 つでは、接続文字列が異なる場合があり、構成可能ですが、このデータベースのスキーマはすべての接続文字列で同じです。
構成可能な接続文字列のため、アプリケーションの起動時に DataContext を検証して、アプリケーションが使用するすべてのテーブルとビューが利用可能であることを確認したいと考えています。
対応する SQL テーブルまたはビューにレコードがない場合でもTable<T>
、オブジェクト内のオブジェクトは常に初期化されます。DataContext
それで。現在、検証チェックは次のように実行されます。
bool valid = _dataContext.Articles.Count() > 0
&& _dataContext.Customers.Count() > 0
&& _dataContext.Orders.Count() > 0;
これは機能しますが、valid の値の決定にはかなりの時間がかかり (各テーブルのすべてのレコードが処理されます)、最終的にタイムアウトになります。Table<T>
では、対応するデータベースに特定のDataContext
がテーブルとして実際に存在するかどうかを判断するための、より高速で信頼性の高い方法はありますか?