Entity Framework - Vues

Une vue est un objet qui contient des données obtenues par une requête prédéfinie. Une vue est un objet virtuel ou une table dont le jeu de résultats est dérivé d'une requête. Il est très similaire à une vraie table car il contient des colonnes et des lignes de données. Voici quelques utilisations typiques des vues -

  • Filtrer les données des tables sous-jacentes
  • Filtrer les données à des fins de sécurité
  • Centralisez les données réparties sur plusieurs serveurs
  • Créer un ensemble de données réutilisable

Les vues peuvent être utilisées de la même manière que vous pouvez utiliser des tables. Pour utiliser la vue en tant qu'entité, vous devez d'abord ajouter des vues de base de données à EDM. Après avoir ajouté des vues à votre modèle, vous pouvez l'utiliser de la même manière que les entités normales, à l'exception des opérations de création, de mise à jour et de suppression.

Jetons un coup d'œil, comment ajouter des vues dans le modèle à partir de la base de données.

Step 1 - Créez un nouveau projet d'application console.

Step 2 - Cliquez avec le bouton droit sur le projet dans l'explorateur de solutions et sélectionnez Ajouter → Nouvel élément.

Step 3 - Sélectionnez ADO.NET Entity Data Model dans le volet central et entrez le nom ViewModel dans le champ Nom.

Step 4 - Cliquez sur le bouton Ajouter qui lancera la boîte de dialogue Assistant de modèle de données d'entité.

Step 5 - Sélectionnez EF Designer dans la base de données et cliquez sur le bouton Suivant.

Step 6 - Sélectionnez la base de données existante et cliquez sur Suivant.

Step 7 - Choisissez Entity Framework 6.x et cliquez sur Suivant.

Step 8 - Sélectionnez les tables et les vues de votre base de données et cliquez sur Terminer.

Vous pouvez voir dans la fenêtre du concepteur qu'une vue est créée et vous pouvez l'utiliser dans le programme en tant qu'entité.

Dans l'explorateur de solutions, vous pouvez voir que la classe MyView est également générée à partir de la base de données.

Prenons un exemple dans lequel toutes les données sont extraites de la vue. Voici le code -

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

Lorsque le code ci-dessus est exécuté, vous recevrez la sortie suivante -

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

Nous vous recommandons d'exécuter l'exemple ci-dessus étape par étape pour une meilleure compréhension.