Exportieren (0) Drucken
Alle erweitern

Vorgehensweise: Herstellen einer Verbindung zur Azure SQL-Datenbank mithilfe des ADO.NET Entity Framework

Letzte Aktualisierung: November 2014

Dank ADO.NET Entity Framework müssen Entwickler zum Erstellen von Datenzugriffsanwendungen nicht direkt für ein relationales Speicherschema programmieren, sondern können sich beim Programmieren an einem konzeptionellen Anwendungsmodell orientieren.

In diesem Thema wird veranschaulicht, wie ein einfaches konzeptionelles Modell erstellt wird, das einer Microsoft Azure SQL-Datenbank zugeordnet wird, und Abfragen über das konzeptionelle Modell ausgeführt werden. Im folgenden Visual C#-/Visual Basic-Beispiel wird eine stark typisierte Abfrage für die CLR-Objekte erstellt, die Entitäten und Zuordnungen im Modell "School" darstellen. Von der Abfrage werden die Abteilungsnamen im Modell "School" zurückgegeben.

Damit Sie diesem Beispiel folgen können, müssen Sie Entity Framework installieren und auf Ihrem Server die Beispieldatenbank "School" erstellt haben. Wenn Sie die Beispieldatenbank "School" erstellen möchten, sollten Sie Erste Schritte mit Microsoft Azure SQL-Datenbank lesen und die Schritte 1 bis 8 ausführen.

  1. Zeigen Sie in Visual Studio im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Wählen Sie im Dialogfeld Neues Projekt in der Liste Installierte Vorlagen entweder "Visual Basic" oder "Visual C#" aus, und wählen Sie dann Konsolenanwendung aus. Geben Sie unter Name die Zeichenfolge SchoolApplicationEF ein, und klicken Sie auf OK.

  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf SchoolApplicationEF, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.

  4. Wählen Sie ADO.NET Entity Data Model aus, geben Sie SchoolDataModel.edmx in das Feld Name ein, und klicken Sie dann auf Hinzufügen.

  5. Wählen Sie im Entity Data Model-Assistenten die Option EF Designer aus Datenbank aus, und klicken Sie dann auf Weiter.

  6. Klicken Sie auf Neue Verbindung, wählen Sie dann im Dialogfeld Datenquelle auswählen die Option Microsoft SQL Server aus, und klicken Sie dann auf Weiter.

  7. Geben Sie im Dialogfeld Verbindungseigenschaften den vollqualifizierten Namen des Servers in das Feld Servername ein. Beispiel: z8ue9o20al.database.windows.net.

  8. Wählen Sie im Feld Am Server anmelden die Option SQL Server-Authentifizierung verwenden aus, und geben Sie die Anmeldeinformationen für den Datenbankadministrator ein. Beispiel: "tester" oder "tester@ z8ue9o20al.database.windows.net".

  9. Klicken Sie auf die Schaltfläche Verbindung testen, um die Anmeldeinformationen zu überprüfen.

  10. Wählen Sie im Feld Mit Datenbank verbinden die Option Datenbanknamen eingeben oder auswählen aus, und wählen Sie dann die Datenbank "School" in der Liste aus. Klicken Sie auf OK.

  11. Wählen Sie im Entity Data Model-Assistenten die Option Nein, vertrauliche Daten aus der Verbindungszeichenfolge ausschließen. Diese werden im Anwendungscode festgelegt. aus. Klicken Sie dann auf Weiter.

  12. Wählen Sie die neueste Version von Entity Framework aus, und klicken Sie dann auf Weiter.

  13. Wählen Sie Tabellen aus, und klicken Sie dann auf Fertig stellen. Dadurch wird eine EDMX-Datei erstellt, die einen Entitätstyp für jede Tabelle in der Datenbank definiert.

  14. Speichern Sie die Datei SchoolDataModel.edmx.

    noteHinweis
    Wenn Sie dieses Beispiel in Visual Studio 2008 ausführen, kann das Entity Framework die EDMX-Datei und die zugehörigen Clientklassen nicht aus einer Azure SQL-Datenbank erstellen. Es muss eine Verbindung mit einer lokalen SQL Server-Instanz hergestellt werden, um die Modell- und Zuordnungsdateien zu generieren. Das Entity Framework stellt jedoch eine Verbindung mit Microsoft Azure SQL-Datenbank her, wenn die Modell- und Zuordnungsdateien erstellt wurden. Außerdem ist das Kontrollkästchen Generierte Objektnamen in den Singular oder Plural setzen in Visual Studio 2008 nicht vorhanden. Sie müssen daher Departments als Department und Courses als Course im folgenden Codebeispiel aktualisieren.

  1. Ersetzen Sie den Code in Ihrer Programmdatei durch den folgenden Code.

    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 People             // objects ordered by last name.             var personQuery = from p in schoolContext.People.Include("Courses")                               orderby p.LastName                               select p;              Console.WriteLine("List of people: ");              try             {                     foreach (Person per in personQuery)                         Console.WriteLine("{0} {1}", per.FirstName, per.LastName);              }             catch (Exception ex)             {                     Console.WriteLine("An error occurred: " + ex.Message);             }         }          Console.WriteLine("Hit enter...");         Console.Read();       } } } 
    

  1. Öffnen Sie im Projekt SchoolEFApplication die Datei App.Config. Ändern Sie die Verbindungszeichenfolge, sodass eine Verbindung mit der Azure SQL-Datenbank hergestellt wird.

    <connectionStrings>     <add name="SchoolEntities" connectionString="metadata=res://*/SchoolDataModel.csdl|res://*/SchoolDataModel.ssdl|res://*/SchoolDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=<provideServerName>.database.windows.net;Initial Catalog=School;Integrated Security=False;User ID=<provideUserID>;Password=<providePassword>;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False&quot;" providerName="System.Data.EntityClient"/> </connectionStrings>
    
  2. Drücken Sie F5, um die Anwendung für die Azure SQL-Datenbank auszuführen. Das Konsolenfenster zeigt die Namen aller Personen an, die es in der Datenbank "School" gibt.

Siehe auch

Anzeigen:
© 2015 Microsoft