Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Vorgehensweise: Herstellen einer Verbindung mit der Windows Azure SQL-Datenbank über das ADO.NET Entity Framework

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 das Erstellen eines einfachen konzeptionellen Modells veranschaulicht, das über das konzeptionelle Modell einer Windows Azure SQL-Datenbank und einer Abfrage zugeordnet wird. 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.

Für dieses Beispiel muss das Entity Framework aus .NET Framework 3.5 Service Pack 1 oder einer höheren Version installiert werden.

Erstellen des Datenmodells

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

  2. Wählen Sie im Bereich Projekttypen die Option Windows aus. Wählen Sie im Bereich Vorlagen die Option 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 Assistenten für Entity Data Model die Option Aus Datenbank generieren aus, und klicken Sie dann auf Weiter.

  6. Klicken Sie auf Neue Verbindung, geben Sie die Informationen für die Datenbank "School" auf dem SQL-Datenbank-Server ein, und klicken Sie auf OK. Wählen Sie Nein, vertrauliche Daten aus der Verbindungszeichenfolge ausschließen. Diese werden im Anwendungscode festgelegt. aus. Klicken Sie dann auf Weiter. Informationen zum Migrieren der Datenbank "School" zu SQL-Datenbank finden Sie unter Vorgehensweise: Migrieren einer Datenbank mithilfe des Assistenten zum Generieren von Skripts (Windows Azure SQL-Datenbank).

  7. 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.

  8. 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 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 Windows Azure SQL-Datenbank her, wenn die Modell- und Zuordnungsdateien erstellt wurden. Außerdem ist das Kontrollkästchen, mit dem gesteuert wird, ob generierte Objektnamen im Singular oder Plural angegeben werden, in Visual Studio 2008 nicht vorhanden. Deshalb muss Departments im folgenden Codebeispiel auf Department und Courses auf Course festgelegt werden.

Erstellen der Konsolenanwendung

  1. Ersetzen Sie den Code in der Programmdatei durch den folgenden Code, und drücken Sie dann F5, um die Anwendung für die SQL-Datenbank auszuführen:

    
    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Text
    
    Module Module1
    
        Private schoolContext As SchoolEntities
    
        Sub Main()
    
            ' Initialize the ObjectContext.
            Using schoolContext = New SchoolEntities()
    
                ' Define a query that returns all Department objects
                ' and related Course objects, ordered by name.
                Dim departmentQuery = _
                    From d In schoolContext.Departments.Include("Courses") _
                    Order By d.Name _
                    Select d
    
                Try
                    For Each dep As Department In departmentQuery
                        Console.WriteLine(dep.Name)
                    Next
    
                Catch ex As Exception
                    Console.WriteLine("An error occurred: " + ex.Message)
                End Try
    
            End Using
    
            Console.WriteLine("Hit enter...")
            Console.Read()
    
        End Sub
    End Module
    

Migrieren der Anwendung zur SQL-Datenbank

  1. Migrieren Sie die Datenbank "School" zu SQL-Datenbank, indem Sie den Anweisungen unter Vorgehensweise: Migrieren einer Datenbank mithilfe des Assistenten zum Generieren von Skripts (Windows Azure SQL-Datenbank) folgen.

  2. Öffnen Sie im Projekt SchoolEFApplication die Datei App.Config. Ändern Sie die Verbindungszeichenfolge, sodass eine Verbindung mit der 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>
    
  3. Drücken Sie F5, um die Anwendung für die SQL-Datenbank auszuführen.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.
facebook page visit twitter rss feed newsletter