同一のデータベースが 10 個あります。
実行時にデータベース名を取得します。
行をオブジェクトのコレクションに格納したいと考えています。
また、データベース サーバーで 1 つのヒットのみが必要です。
私の現在のアプローチ:-
- クエリ (X の理由でストアド プロシージャはありません) で、データベースのリストを取得し、一時テーブルに格納します。
次に、各データベースを繰り返し処理し、動的クエリを作成して実行します。
DECLARE @MaxRownum int SET @MaxRownum = (SELECT MAX(RowNum) FROM #Databases) DECLARE @Iter int SET @Iter = 1 WHILE @Iter <= @MaxRownum BEGIN DECLARE @Database varchar(255) SELECT @Database = Databases FROM #Databases WHERE RowNum = @Iter IF HAS_DBACCESS(@Database) > 0 BEGIN //appending query END SET @Iter = @Iter + 1 END EXEC(@Query)
動的クエリを使用せず、パフォーマンスを低下させることなく、サーバーへの 1 回のヒットで Linq + エンティティ フレームワークを使用できますか? より良い解決策はありますか?