0

アプリケーション内のパフォーマンス オーバーヘッドを次のブロックに絞り込みました。

Server currentServer = new Server(databaseConnection.DataSource);
Database currentDatabase = currentServer.Databases[databaseConnection.InitialCatalog];

foreach (View view in currentDatabase.Views)
{
    if (view.IsSystemObject == false)
    {
        if (view.Name.Equals(viewName))
        {
            MessageBox.Show(parent, "A virtual table with that name already exists! Virtual\ntable not created.", "Not created", MessageBoxButton.OK, MessageBoxImage.Information);
            break;
         }
         else
         {
             valid = true;
             break;
         }
    }
}

基本的に、システムに属さないデータベース ビューを繰り返し処理したいと考えています。ただし、このアプローチでは、SMOライブラリは関係なくすべてのビューを反復処理します。どのように配置できるか考えていますか?

編集:

たとえば、ユーザー定義のビューは約 10 個しかありませんが、システム ビューは 1000 個以上あります。システム ビューをスキップして、ユーザー定義のビューのみを繰り返すにはどうすればよいですか?

4

1 に答える 1