Procédure : se connecter à Base de données SQL Windows Azure à l'aide de l'ADO.NET Entity Framework
L'ADO.NET Entity Framework permet aux développeurs de créer des applications d'accès aux données en programmant contre un modèle d'application conceptuel plutôt que directement contre un schéma de stockage relationnel.
Cette rubrique montre comment créer un modèle conceptuel simple mappé à une Base de données SQL Windows Azure et comment interroger sur le modèle conceptuel. L'exemple Visual C#/Visual Basic suivant crée une requête fortement typée par rapport aux objets CLR qui représentent des entités et des associations dans le modèle School, qui renvoie les noms de service dans le modèle School.
Pour suivre cet exemple, vous devez installer l'Entity Framework à partir du .NET Framework 3.5 Service Pack 1 ou version ultérieure.
Créer le modèle de données
-
Dans Visual Studio, dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
-
Dans le volet Types de projets, sélectionnez Windows. Dans le volet Modèles, sélectionnez Application console. Entrez SchoolApplicationEF comme Nom, puis cliquez sur OK.
-
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur SchoolApplicationEF, pointez sur Ajouter, puis sélectionnez Nouvel élément.
-
Sélectionnez ADO.NET Entity Data Model, entrez SchoolDataModel.edmx comme Nom, puis cliquez sur Ajouter.
-
Dans l'Assistant EDM, sélectionnez Générer à partir de la base de données, puis cliquez sur Suivant.
-
Cliquez sur Nouvelle connexion, entrez les informations de la base de données School sur votre serveur Base de données SQL, puis cliquez sur OK. Sélectionnez l'option Non, exclure les données sensibles de la chaîne de connexion. Je définirai ces informations dans le code de mon application. Ensuite, cliquez sur Suivant. Pour plus d'informations sur la migration de la base de données School vers Base de données SQL, consultez Procédure : migrer une base de données à l'aide de l'Assistant Générer des scripts (Base de données SQL Windows Azure).
-
Sélectionnez Tables, puis cliquez sur Terminer. Cela crée un fichier .edmx qui définit un type d'entité pour chaque table dans la base de données.
-
Enregistrez le fichier SchoolDataModel.edmx.
Remarque Lors de l'exécution de cet exemple dans Visual Studio 2008, Entity Framework ne peut pas créer le fichier .edmx et les classes clientes associées à partir d'une Base de données SQL. Il doit se connecter à une instance locale de SQL Server pour générer les fichiers de mappage et de modèle. Toutefois, l'Entity Framework se connectera à Base de données SQL Windows Azure lorsque les fichiers de mappage et de modèle auront été créés. De plus, la case à cocher Mettre au pluriel ou au singulier les noms d'objets générés n'existe pas dans Visual Studio 2008. Par conséquent, vous devez remplacer DepartmentsparDepartmentetCoursesparCoursedans l'exemple de code suivant.
Créer l'application console
-
Remplacez le code dans votre fichier de programme par le code suivant, puis appuyez sur F5 pour exécuter l'application contre votre Base de données SQL.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SchoolApplicationEF { class Program { private static SchoolEntities schoolContext; static void Main(string[] args) { //Initialize the ObjectContext using (schoolContext = new SchoolEntities()) { // Define a query that returns all Department // objects and related Course objects, ordered by name. var departmentQuery = from d in schoolContext.Departments.Include("Courses") orderby d.Name select d; Console.WriteLine("List of departments: "); try { foreach (Department dep in departmentQuery) Console.WriteLine(dep.Name); } catch (Exception ex) { Console.WriteLine("An error occurred: " + ex.Message); } } Console.WriteLine("Hit enter..."); Console.Read(); } } }
Effectuer une migration de l'application vers Base de données SQL
-
Effectuez une migration de la base de données School vers Base de données SQL en suivant les instructions fournies dans Procédure : migrer une base de données à l'aide de l'Assistant Générer des scripts (Base de données SQL Windows Azure).
-
Dans le projet SchoolEFApplication, ouvrez le fichier App.Config. Modifiez la chaîne de connexion de sorte qu'elle établisse une connexion à votre Base de données SQL.
<connectionStrings> <add name="SchoolEntities" connectionString="metadata=res://*/SchoolDataModel.csdl|res://*/SchoolDataModel.ssdl|res://*/SchoolDataModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=<provideServerName>.database.windows.net;Initial Catalog=School;Integrated Security=False;User ID=<provideUserID>;Password=<providePassword>;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False"" providerName="System.Data.EntityClient"/> </connectionStrings> -
Appuyez sur F5 pour exécuter l'application en fonction de votre Base de données SQL.
Voir aussi