Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Lernprogrammreihe wird gezeigt, wie Sie eine ASP.NET Webanwendung mit Azure App Service Web Apps oder einem Drittanbieter mit Visual Studio 2012 oder Visual Studio 2010 bereitstellen (veröffentlichen). Informationen zur Reihe finden Sie im ersten Lernprogramm in der Reihe.
Übersicht
In diesem Lernprogramm wird gezeigt, wie Sie das Projekt für die Datenbankbereitstellung vorbereiten. Die Datenbankstruktur und einige (nicht alle) Daten in den beiden Datenbanken der Anwendung müssen für Test-, Staging- und Produktionsumgebungen bereitgestellt werden.
Beim Entwickeln einer Anwendung geben Sie in der Regel Testdaten in eine Datenbank ein, die Sie nicht auf einer Livewebsite bereitstellen möchten. Möglicherweise verfügen Sie jedoch auch über einige Produktionsdaten, die Sie bereitstellen möchten. In diesem Lernprogramm konfigurieren Sie das Contoso University-Projekt und bereiten SQL-Skripts vor, sodass die richtigen Daten bei der Bereitstellung enthalten sind.
Erinnerung: Wenn Beim Durchlaufen des Lernprogramms eine Fehlermeldung angezeigt wird oder etwas nicht funktioniert, überprüfen Sie unbedingt die Problembehandlungsseite.
SQL Server Express LocalDB
Die Beispielanwendung verwendet SQL Server Express LocalDB. SQL Server Express ist die kostenlose Edition von SQL Server. Sie wird häufig während der Entwicklung verwendet, da sie auf demselben Datenbankmodul wie Vollversionen von SQL Server basiert. Sie können mit SQL Server Express testen und sicher sein, dass sich die Anwendung in der Produktionsumgebung genauso verhält, mit einigen Ausnahmen für Funktionen, die zwischen den SQL Server-Editionen variieren.
LocalDB ist ein spezieller Ausführungsmodus von SQL Server Express, mit dem Sie mit Datenbanken als .mdf Dateien arbeiten können. In der Regel werden LocalDB-Datenbankdateien im ordner App_Data eines Webprojekts gespeichert. Mit dem Benutzerinstanzfeature in SQL Server Express können Sie auch mit .mdf Dateien arbeiten, das Benutzerinstanzfeature ist jedoch veraltet. Daher wird LocalDB für die Arbeit mit .mdf Dateien empfohlen.
In der Regel wird SQL Server Express nicht für Produktionswebanwendungen verwendet. LocalDB wird insbesondere nicht für die Verwendung in der Produktion mit einer Webanwendung empfohlen, da sie nicht für die Verwendung mit IIS konzipiert ist.
In Visual Studio 2012 ist LocalDB standardmäßig mit Visual Studio installiert. In Visual Studio 2010 und früheren Versionen wird SQL Server Express (ohne LocalDB) standardmäßig mit Visual Studio installiert; Aus diesem Grund haben Sie es als eine der Voraussetzungen im ersten Lernprogramm dieser Reihe installiert.
Weitere Informationen zu SQL Server-Editionen, einschließlich LocalDB, finden Sie in den folgenden Ressourcen: Arbeiten mit SQL Server-Datenbanken.
Entity Framework und universelle Anbieter
Für den Datenbankzugriff benötigt die Contoso University-Anwendung die folgende Software, die mit der Anwendung bereitgestellt werden muss, da sie nicht im .NET Framework enthalten ist:
- ASP.NET universelle Anbieter (ermöglicht das ASP.NET Mitgliedschaftssystem die Verwendung der Azure SQL-Datenbank)
- Entity Framework
Da diese Software in NuGet-Paketen enthalten ist, ist das Projekt bereits so eingerichtet, dass die erforderlichen Assemblys mit dem Projekt bereitgestellt werden. (Die Links verweisen auf die aktuellen Versionen dieser Pakete, die möglicherweise neuer als das, was im Startprojekt installiert ist, das Sie für dieses Lernprogramm heruntergeladen haben.)
Wenn Sie anstelle von Azure auf einem Drittanbieter-Hostinganbieter bereitstellen, stellen Sie sicher, dass Sie Entity Framework 5.0 oder höher verwenden. Frühere Versionen von Code First-Migrationen benötigen volle Vertrauensstellung, und die meisten Hostinganbieter führen Ihre Anwendung in mittlerem Vertrauen aus. Weitere Informationen zur mittleren Vertrauensstellung finden Sie im Tutorial "Bereitstellen in IIS als Testumgebung".
Konfigurieren der ersten Codemigrationen für die Anwendungsdatenbankbereitstellung
Die Contoso University-Anwendungsdatenbank wird von Code First verwaltet, und Sie stellen sie mithilfe von Code First-Migrationen bereit. Eine Übersicht über die Datenbankbereitstellung mithilfe von Code First Migrationen finden Sie im ersten Lernprogramm dieser Reihe.
Wenn Sie eine Anwendungsdatenbank bereitstellen, stellen Sie ihre Entwicklungsdatenbank in der Regel nicht einfach mit allen darin gespeicherten Daten in der Produktion bereit, da viele der darin enthaltenen Daten wahrscheinlich nur zu Testzwecken vorhanden sind. Beispielsweise sind die Schülernamen in einer Testdatenbank fiktional. Andererseits können Sie häufig nicht einfach nur die Datenbankstruktur ganz ohne jegliche Daten bereitstellen. Einige der Daten in Ihrer Testdatenbank sind möglicherweise echte Daten und müssen vorhanden sein, wenn Benutzer mit der Verwendung der Anwendung beginnen. Ihre Datenbank kann beispielsweise eine Tabelle haben, die gültige Notenwerte oder echte Abteilungsnamen enthält.
Um dieses häufige Szenario zu simulieren, konfigurieren Sie eine Code First Migration-Methode Seed , die nur die Daten in die Datenbank einfügt, die in der Produktion vorhanden sein sollen. Diese Seed Methode sollte keine Testdaten einfügen, da sie in der Produktion ausgeführt wird, nachdem Code First die Datenbank in der Produktion erstellt hat.
In früheren Versionen von Code First vor der Veröffentlichung der Migrationen war es üblich, dass Methoden Seed auch Testdaten einfügen, da bei jeder Modelländerung während der Entwicklung die Datenbank vollständig gelöscht und neu erstellt werden musste. Bei Code First-Migrationen werden Testdaten nach Datenbankänderungen aufbewahrt, sodass keine Testdaten in der Seed Methode erforderlich sind. Das heruntergeladene Projekt verwendet die Methode zum Einschließen aller Daten in die Seed Methode einer Initialisierungsklasse. In diesem Lernprogramm deaktivieren Sie diese Initialisierungsklasse und aktivieren Migrationen. Anschließend aktualisieren Sie die Seed Methode in der Migrationskonfigurationsklasse, sodass nur Daten eingefügt werden, die in die Produktion eingefügt werden sollen.
Das folgende Diagramm veranschaulicht das Schema der Anwendungsdatenbank:
Bei diesen Tutorials nimmt man an, dass die Tabellen Student leer Enrollment sein sollten, wenn die Website zum ersten Mal bereitgestellt wird. Die anderen Tabellen enthalten Daten, die vorgeladen werden müssen, wenn die Anwendung in Betrieb genommen wird.
Deaktivieren des Initialisierers
Da Sie Code First-Migrationen verwenden, müssen Sie den Code First Initializer nicht verwenden DropCreateDatabaseIfModelChanges . Der Code für diesen Initialisierer befindet sich in der datei SchoolInitializer.cs im Projekt ContosoUniversity.DAL. Eine Einstellung im appSettings Element der Web.config-Datei bewirkt, dass dieser Initialisierer ausgeführt wird, wenn die Anwendung zum ersten Mal versucht, auf die Datenbank zuzugreifen:
<appSettings>
<add key="Environment" value="Dev" />
<add key="DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL" value="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity.DAL" />
</appSettings>
Öffnen Sie die Anwendung Web.config Datei, und entfernen oder kommentieren Sie das add Element aus, das die Code First Initializer-Klasse angibt. Das appSettings Element sieht nun wie folgt aus:
<appSettings>
<add key="Environment" value="Dev" />
</appSettings>
Hinweis
Eine weitere Möglichkeit zum Angeben einer Initialisierungsklasse ist dies durch Aufrufen Database.SetInitializer der Methode in der Application_Start Datei "Global.asax ". Wenn Sie Migrationen in einem Projekt aktivieren, das diese Methode verwendet, um den Initialisierer anzugeben, entfernen Sie diese Codezeile.
Hinweis
Wenn Sie Visual Studio 2013 verwenden, fügen Sie die folgenden Schritte zwischen den Schritten 2 und 3 hinzu: (a) Geben Sie in PMC "update-package entityframework -version 6.1.1" ein, um die aktuelle Version von EF abzurufen. Erstellen Sie dann (b) das Projekt, um eine Liste von Buildfehlern zu erhalten und zu beheben. Löschen Sie using-Anweisungen für Namespaces, die nicht mehr vorhanden sind, klicken Sie mit der rechten Maustaste und klicken Sie auf "Auflösen", um using-Anweisungen hinzuzufügen, wo sie benötigt werden, und ändern Sie Vorkommen von System.Data.EntityState in System.Data.Entity.EntityState.
Code First-Migrationen aktivieren
Stellen Sie sicher, dass das ContosoUniversity-Projekt (nicht ContosoUniversity.DAL) als Startprojekt festgelegt ist. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ContosoUniversity, und wählen Sie "Als Startprojekt festlegen" aus. Code First Migrations durchsuchen das Startprojekt nach der Datenbankverbindungszeichenfolge.
Wählen Sie im Menü "Extras" die Paket-Manager-Konsole des NuGet-Paket-Managers> aus.
Wählen Sie oben im Paket-Manager-Konsolenfenster "ContosoUniversity.DAL" als Standardprojekt aus, und geben Sie dann an der
PM>Eingabeaufforderung "enable-migrations" ein.
(Wenn ein Fehler angezeigt wird, der besagt, dass der Befehl enable-migrations nicht erkannt wird, geben Sie den Befehl update-package EntityFramework -Reinstall ein und versuchen Sie es erneut.)
Mit diesem Befehl wird ein Ordner "Migrationen" im Projekt "ContosoUniversity.DAL" erstellt, und er fügt zwei Dateien in diesen Ordner ein: eine Configuration.cs Datei, die Sie zum Konfigurieren von Migrationen verwenden können, und eine InitialCreate.cs Datei für die erste Migration, die die Datenbank erstellt.
Sie haben das DAL-Projekt in der Dropdownliste " Standardprojekt " der Paket-Manager-Konsole ausgewählt, da der
enable-migrationsBefehl im Projekt ausgeführt werden muss, das die Code First-Kontextklasse enthält. Wenn sich diese Klasse in einem Klassenbibliotheksprojekt befindet, sucht Code First Migrationen im Startprojekt für die Projektmappe nach der Datenbankverbindungszeichenfolge. In der ContosoUniversity-Lösung wurde das Webprojekt als Startprojekt festgelegt. Wenn Sie das Projekt mit der Verbindungszeichenfolge nicht als Startprojekt in Visual Studio festlegen möchten, können Sie das Startprojekt im PowerShell-Befehl angeben. Um die Befehlssyntax anzuzeigen, geben Sie den Befehlget-help enable-migrationsein.Der
enable-migrationsBefehl hat automatisch die erste Migration erstellt, da die Datenbank bereits vorhanden ist. Eine Alternative besteht darin, dass Migrationen die Datenbank erstellen. Verwenden Sie dazu den Server-Explorer oder den SQL Server-Objekt-Explorer , um die ContosoUniversity-Datenbank zu löschen, bevor Sie Migrationen aktivieren. Nachdem Sie Migrationen aktiviert haben, erstellen Sie die erste Migration manuell, indem Sie den Befehl "Add-Migration InitialCreate" eingeben. Anschließend können Sie die Datenbank erstellen, indem Sie den Befehl "update-database" eingeben.
Einrichten der Seed-Methode
In diesem Lernprogramm fügen Sie statische Daten hinzu, indem Sie Code zur Methode Seed der Klasse Code First Migrations Configuration hinzufügen. Code First Migration ruft die Seed Methode nach jeder Migration auf.
Da die Seed Methode nach jeder Migration ausgeführt wird, gibt es bereits Daten in den Tabellen nach der ersten Migration. Um diese Situation zu behandeln, verwenden Sie die AddOrUpdate Methode, um Zeilen zu aktualisieren, die bereits eingefügt wurden, oder fügen Sie sie ein, wenn sie noch nicht vorhanden sind. Die AddOrUpdate Methode ist möglicherweise nicht die beste Wahl für Ihr Szenario. Weitere Informationen finden Sie unter Mit Vorsicht verwenden: EF 4.3 AddOrUpdate-Methode im Blog von Julie Lerman.
Öffnen Sie die datei Configuration.cs , und ersetzen Sie die Kommentare in der
SeedMethode durch den folgenden Code:var instructors = new List<Instructor> { new Instructor { FirstMidName = "Kim", LastName = "Abercrombie", HireDate = DateTime.Parse("1995-03-11"), OfficeAssignment = new OfficeAssignment { Location = "Smith 17" } }, new Instructor { FirstMidName = "Fadi", LastName = "Fakhouri", HireDate = DateTime.Parse("2002-07-06"), OfficeAssignment = new OfficeAssignment { Location = "Gowan 27" } }, new Instructor { FirstMidName = "Roger", LastName = "Harui", HireDate = DateTime.Parse("1998-07-01"), OfficeAssignment = new OfficeAssignment { Location = "Thompson 304" } }, new Instructor { FirstMidName = "Candace", LastName = "Kapoor", HireDate = DateTime.Parse("2001-01-15") }, new Instructor { FirstMidName = "Roger", LastName = "Zheng", HireDate = DateTime.Parse("2004-02-12") } }; instructors.ForEach(s => context.Instructors.AddOrUpdate(i => i.LastName, s)); context.SaveChanges(); var departments = new List<Department> { new Department { Name = "English", Budget = 350000, StartDate = DateTime.Parse("2007-09-01"), PersonID = 1 }, new Department { Name = "Mathematics", Budget = 100000, StartDate = DateTime.Parse("2007-09-01"), PersonID = 2 }, new Department { Name = "Engineering", Budget = 350000, StartDate = DateTime.Parse("2007-09-01"), PersonID = 3 }, new Department { Name = "Economics", Budget = 100000, StartDate = DateTime.Parse("2007-09-01"), PersonID = 4 } }; departments.ForEach(s => context.Departments.AddOrUpdate(d => d.Name, s)); context.SaveChanges(); var courses = new List<Course> { new Course { CourseID = 1050, Title = "Chemistry", Credits = 3, DepartmentID = 3 }, new Course { CourseID = 4022, Title = "Microeconomics", Credits = 3, DepartmentID = 4 }, new Course { CourseID = 4041, Title = "Macroeconomics", Credits = 3, DepartmentID = 4 }, new Course { CourseID = 1045, Title = "Calculus", Credits = 4, DepartmentID = 2 }, new Course { CourseID = 3141, Title = "Trigonometry", Credits = 4, DepartmentID = 2 }, new Course { CourseID = 2021, Title = "Composition", Credits = 3, DepartmentID = 1 }, new Course { CourseID = 2042, Title = "Literature", Credits = 4, DepartmentID = 1 } }; courses.ForEach(s => context.Courses.AddOrUpdate(s)); context.SaveChanges(); courses[0].Instructors.Add(instructors[0]); courses[0].Instructors.Add(instructors[1]); courses[1].Instructors.Add(instructors[2]); courses[2].Instructors.Add(instructors[2]); courses[3].Instructors.Add(instructors[3]); courses[4].Instructors.Add(instructors[3]); courses[5].Instructors.Add(instructors[3]); courses[6].Instructors.Add(instructors[3]); context.SaveChanges();Die Verweise auf
Listhaben rote Wellenlinien darunter, weil Sie noch keine Anweisung für dessen Namespaceusinghaben. Klicken Sie mit der rechten Maustaste auf eine der Instanzen vonList, klicken Sie auf Auflösen und klicken Sie dann auf using System.Collections.Generic.
Diese Menüauswahl fügt den
using-Anweisungen in der Nähe des oberen Randes der Datei den folgenden Code hinzu.using System.Collections.Generic;Drücken Sie STRG-SHIFT-B, um das Projekt zu erstellen.
Das Projekt ist nun bereit, die ContosoUniversity-Datenbank bereitzustellen. Nachdem Sie die Anwendung bereitgestellt haben, erstellt Code First die Datenbank, und führt diese Seed Methode aus, wenn Sie sie zum ersten Mal ausführen und zu einer Seite navigieren, die auf die Datenbank zugreift.
Hinweis
Das Hinzufügen von Code zur Seed Methode ist eine von vielen Möglichkeiten, feste Daten in die Datenbank einzufügen. Eine Alternative ist das Hinzufügen von Code zu den Up Methoden und Down Migrationsklassen. Die Up Methoden Down enthalten Code, der Datenbankänderungen implementiert. Im Lernprogramm zum Bereitstellen einer Datenbankaktualisierung finden Sie Beispiele dafür.
Sie können auch Code schreiben, der SQL-Anweisungen mithilfe der Sql Methode ausführt. Wenn Sie beispielsweise eine Spalte "Budget" zur Tabelle "Abteilung" hinzufügen und alle Abteilungsbudgets als Teil einer Migration auf 1.000,00 $ initialisieren möchten, könnten Sie der Up Methode für diese Migration die folgende Codezeile hinzufügen:
Sql("UPDATE Department SET Budget = 1000");
Erstellen von Skripts für die Bereitstellung von Mitgliedschaftsdatenbanken
Die Contoso University-Anwendung verwendet das ASP.NET Mitgliedschaftssystem und die Formularauthentifizierung, um Benutzer zu authentifizieren und zu autorisieren. Auf die Seite " Guthaben aktualisieren" kann nur für Benutzer zugegriffen werden, die sich in der Administratorrolle befinden.
Führen Sie die Anwendung aus, und klicken Sie auf "Kurse", und klicken Sie dann auf "Guthaben aktualisieren".
Die Seite "Anmelden" wird angezeigt, da auf der Seite " Guthaben aktualisieren " Administratorrechte erforderlich sind.
Geben Sie den Administrator als Benutzernamen und devpwd als Kennwort ein, und klicken Sie auf "Anmelden".
Die Seite "Guthaben aktualisieren" wird angezeigt.
Benutzer- und Rolleninformationen befinden sich in der aspnet-ContosoUniversity-Datenbank , die durch die DefaultConnection-Verbindungszeichenfolge in der dateiWeb.config angegeben wird.
Diese Datenbank wird nicht von Entity Framework Code First verwaltet, sodass Sie Migrationen nicht zur Bereitstellung verwenden können. Sie verwenden den dbDacFx-Anbieter, um das Datenbankschema bereitzustellen, und Sie konfigurieren das Veröffentlichungsprofil, um ein Skript auszuführen, das anfängliche Daten in Datenbanktabellen einfügt.
Hinweis
Mit Visual Studio 2013 wurde ein neues ASP.NET Mitgliedschaftssystem (jetzt ASP.NET Identity genannt) eingeführt. Mit dem neuen System können Sie sowohl Anwendungs- als auch Mitgliedschaftstabellen in derselben Datenbank beibehalten, und Sie können code First Migrationen verwenden, um beides bereitzustellen. Die Beispielanwendung verwendet das frühere ASP.NET Mitgliedschaftssystem, das nicht mithilfe von Code First-Migrationen bereitgestellt werden kann. Die Verfahren für die Bereitstellung dieser Mitgliedschaftsdatenbank gelten auch für jedes andere Szenario, in dem Ihre Anwendung eine SQL Server-Datenbank bereitstellen muss, die nicht von Entity Framework Code First erstellt wird.
Auch hier möchten Sie in der Regel nicht die gleichen Daten in der Produktion, die Sie in der Entwicklung haben. Wenn Sie eine Website zum ersten Mal bereitstellen, ist es üblich, die meisten oder alle Benutzerkonten auszuschließen, die Sie zum Testen erstellen. Daher verfügt das heruntergeladene Projekt über zwei Mitgliedschaftsdatenbanken: aspnet-ContosoUniversity.mdf mit Entwicklungsbenutzern und aspnet-ContosoUniversity-Prod.mdf mit Produktionsbenutzern. In diesem Lernprogramm sind die Benutzernamen in beiden Datenbanken identisch: administrator und nichtadmin. Beide Benutzer haben das Kennwort devpwd in der Entwicklungsdatenbank und prodpwd in der Produktionsdatenbank.
Sie stellen die Entwicklungsbenutzer in der Testumgebung und die Produktionsbenutzer in Staging und Produktion bereit. Dazu erstellen Sie in diesem Lernprogramm zwei SQL-Skripts, eine für die Entwicklung und eine für die Produktion, und in späteren Lernprogrammen konfigurieren Sie den Veröffentlichungsprozess für die Ausführung.
Hinweis
Die Mitgliedschaftsdatenbank speichert einen Hash von Kontokennwörtern. Um Konten von einem Computer auf einem anderen bereitzustellen, müssen Sie sicherstellen, dass Hashing-Routinen keine anderen Hashes auf dem Zielserver generieren, als auf dem Quellcomputer. Sie generieren dieselben Hashes, wenn Sie die ASP.NET universellen Anbieter verwenden, solange Sie den Standardalgorithmus nicht ändern. Der Standardalgorithmus ist HMACSHA256 und wird im Überprüfungsattribut des machineKey-Elements in der Web.config Datei angegeben.
Sie können Datenbereitstellungsskripts manuell erstellen, indem Sie SQL Server Management Studio (SSMS) oder ein Drittanbietertool verwenden. Dieser Rest dieses Lernprogramms zeigt Ihnen, wie Sie es in SSMS erledigen können, aber wenn Sie SSMS nicht installieren und verwenden möchten, können Sie die Skripts aus der abgeschlossenen Version des Projekts abrufen und zu dem Abschnitt springen, in dem Sie sie im Lösungsordner speichern.
Um SSMS zu installieren, installieren Sie es im Download Center: Microsoft SQL Server 2012 Express , indem Sie auf ENU\x64\SQLManagementStudio_x64_ENU.exe oder ENU\x86\SQLManagementStudio_x86_ENU.exeklicken. Wenn Sie den falschen für Ihr System auswählen, wird die Installation fehlschlagen, und Sie können die andere versuchen.
(Beachten Sie, dass dies ein Download von 600 MB ist. Es kann lange dauern, bis der Computer installiert wird und ein Neustart des Computers erforderlich ist.)
Klicken Sie auf der ersten Seite des SQL Server-Installationscenters auf "Neue eigenständige SQL Server-Installation", oder fügen Sie einer vorhandenen Installation Features hinzu, und folgen Sie den Anweisungen, und akzeptieren Sie die Standardoptionen.
Erstellen des Entwicklungsdatenbankskripts
Führen Sie SSMS aus.
Geben Sie im Dialogfeld "Mit Server verbinden" (localdb)\v11.0 als Servernamen ein, lassen Sie die Authentifizierung auf Windows-Authentifizierung festgelegt, und klicken Sie dann auf "Verbinden".
Erweitern Sie im Fenster "Objekt-Explorer" Datenbanken, klicken Sie mit der rechten Maustaste auf aspnet-ContosoUniversity, klicken Sie auf "Aufgaben", und klicken Sie dann auf "Skripts generieren".
Klicken Sie im Dialogfeld " Skripts generieren und veröffentlichen " auf " Skriptoptionen festlegen".
Sie können den Schritt Objekte auswählen überspringen, da die Standardeinstellung die gesamte Datenbank und alle Datenbankobjekte zu skripten genau das ist, was Sie möchten.
Klicken Sie auf "Erweitert".
Scrollen Sie im Dialogfeld "Erweiterte Skriptoptionen " nach unten zu Den Datentypen für Skripts, und klicken Sie in der Dropdownliste auf die Option "Nur Daten ".
Skript USE DATABASE in False ändern. USE-Anweisungen sind für Die Azure SQL-Datenbank nicht gültig und für die Bereitstellung in SQL Server Express in der Testumgebung nicht erforderlich.
Klicke auf OK.
Im Dialogfeld Skripts generieren und veröffentlichen gibt das Feld "Dateiname " an, wo das Skript erstellt wird. Ändern Sie den Pfad zu Ihrem Lösungsordner (dem Ordner mit ihrer ContosoUniversity.sln Datei) und dem Dateinamen in aspnet-data-dev.sql.
Klicken Sie auf "Weiter ", um zur Registerkarte " Zusammenfassung " zu wechseln, und klicken Sie dann erneut auf "Weiter" , um das Skript zu erstellen.
Klicken Sie auf Fertig stellen.
Erstellen des Produktionsdatenbankskripts
Da Sie das Projekt nicht mit der Produktionsdatenbank ausgeführt haben, ist es noch nicht an die LocalDB-Instanz angefügt. Daher müssen Sie die Datenbank zuerst anfügen.
Klicken Sie im SSMS-Objekt-Explorer mit der rechten Maustaste auf Datenbanken, und klicken Sie auf "Anfügen".
Klicken Sie im Dialogfeld "Datenbanken anfügen" auf "Hinzufügen", und navigieren Sie dann im Ordner App_Data zur datei aspnet-ContosoUniversity-Prod.mdf.
Klicke auf OK.
Führen Sie dasselbe Verfahren aus, das Sie zuvor zum Erstellen eines Skripts für die Produktionsdatei verwendet haben. Benennen Sie die Skriptdatei aspnet-data-prod.sql.
Zusammenfassung
Beide Datenbanken können jetzt bereitgestellt werden, und Sie verfügen über zwei Datenbereitstellungsskripts in Ihrem Lösungsordner.
Im folgenden Lernprogramm konfigurieren Sie Projekteinstellungen, die sich auf die Bereitstellung auswirken, und Sie richten automatische Web.config Dateitransformationen für Einstellungen ein, die in der bereitgestellten Anwendung unterschiedlich sein müssen.
Weitere Informationen
Weitere Informationen zu NuGet finden Sie unter Verwalten von Projektbibliotheken mit NuGet und NuGet-Dokumentation. Wenn Sie NuGet nicht verwenden möchten, müssen Sie erfahren, wie Sie ein NuGet-Paket analysieren, um zu bestimmen, was es tut, wenn es installiert ist. (Es kann z. B. Web.config-Transformationen konfigurieren, PowerShell-Skripts für die Ausführung zur Build-Zeit konfigurieren usw.) Weitere Informationen zur Funktionsweise von NuGet finden Sie unter Erstellen und Veröffentlichen eines Pakets und Konfigurationsdateien und Quellcodetransformationen.