Aracılığıyla paylaş


Visual Studio kullanarak Web Dağıtımı ASP.NET: Veritabanı Dağıtımına Hazırlanma

Başlangıç Projelerini İndir

Bu öğretici serisi, Visual Studio 2012 veya Visual Studio 2010 kullanarak bir ASP.NET web uygulamasını Azure App Service Web Apps veya üçüncü taraf barındırma sağlayıcısına dağıtmayı (yayımlamayı) gösterir. Seri hakkında bilgi için serideki ilk öğreticiye bakın.

Genel Bakış

Bu öğreticide projenin veritabanı dağıtımına nasıl hazır olduğu gösterilmektedir. Veritabanı yapısı ve uygulamanın iki veritabanındaki verilerin bazıları (tümü değil) test, hazırlama ve üretim ortamlarına dağıtılmalıdır.

Genellikle, bir uygulama geliştirirken, canlı bir siteye dağıtmak istemediğiniz bir veritabanına test verileri girersiniz. Ancak, dağıtmak istediğiniz bazı üretim verileriniz de olabilir. Bu öğreticide Contoso University projesini yapılandıracak ve dağıttığınızda doğru verilerin dahil olması için SQL betikleri hazırlayacaksınız.

Anımsatıcı: Öğreticide ilerlerken bir hata iletisi alırsanız veya bir şey çalışmıyorsa sorun giderme sayfasını kontrol edin.

SQL Server Express LocalDB

Örnek uygulama SQL Server Express LocalDB kullanır. SQL Server Express, SQL Server ücretsiz sürümüdür. Geliştirme sırasında yaygın olarak kullanılır çünkü SQL Server tam sürümleriyle aynı veritabanı altyapısını temel alır. SQL Server Express ile test edebilir ve SQL Server Sürümleri arasında farklılık gösteren özellikler için birkaç özel durum dışında uygulamanın üretimde aynı şekilde davranacağı konusunda emin olabilirsiniz.

LocalDB, veritabanlarıyla .mdf dosyaları olarak çalışmanızı sağlayan özel bir SQL Server Express yürütme modudur. Genellikle, LocalDB veritabanı dosyaları bir web projesinin App_Data klasöründe tutulur. SQL Server Express'daki kullanıcı örneği özelliği.mdf dosyalarıyla çalışmanıza da olanak tanır, ancak kullanıcı örneği özelliği kullanım dışıdır; bu nedenle, .mdf dosyalarıyla çalışmak için LocalDB önerilir.

Genellikle SQL Server Express üretim web uygulamaları için kullanılmaz. LocalDB özellikle bir web uygulamasıyla üretim kullanımı için önerilmez çünkü IIS ile çalışacak şekilde tasarlanmamıştır.

Visual Studio 2012'de, LocalDB varsayılan olarak Visual Studio ile yüklenir. Visual Studio 2010 ve önceki sürümlerde SQL Server Express (LocalDB olmadan) Visual Studio ile varsayılan olarak yüklenir; bu nedenle bu serinin ilk öğreticisinde önkoşullardan biri olarak yüklemiş olursunuz.

LocalDB de dahil olmak üzere SQL Server sürümleri hakkında daha fazla bilgi için aşağıdaki SQL Server Veritabanlarıyla Çalışma kaynaklarına bakın.

Entity Framework ve Evrensel Sağlayıcılar

Veritabanı erişimi için Contoso University uygulaması, .NET Framework dahil edilmediğinden uygulamayla birlikte dağıtılması gereken aşağıdaki yazılımları gerektirir:

Bu yazılım NuGet paketlerine eklendiğinden, gerekli derlemelerin projeyle dağıtılacağı şekilde proje zaten ayarlanmıştır. (Bağlantılar, bu paketlerin geçerli sürümlerini gösterir. Bu sürümler, bu öğretici için indirdiğiniz başlangıç projesinde yüklü olandan daha yeni olabilir.)

Azure yerine bir üçüncü taraf barındırma sağlayıcısına dağıtım yapıyorsanız Entity Framework 5.0 veya üzerini kullandığınızdan emin olun. Code First Migrations önceki sürümleri Tam Güven gerektirir ve çoğu barındırma sağlayıcısı uygulamanızı Orta Güven'de çalıştırır. Orta Güven hakkında daha fazla bilgi için, Test Ortamı olarak IIS'ye Dağıtma öğreticisine bakın.

Uygulama veritabanı dağıtımı için Code First Migrations yapılandırma

Contoso University uygulama veritabanı Code First tarafından yönetilir ve bunu Code First Migrations kullanarak dağıtacaksınız. Code First Migrations kullanarak veritabanı dağıtımına genel bakış için bu serideki ilk öğreticiye bakın.

Bir uygulama veritabanını dağıtırken, genellikle içindeki verilerin büyük bir kısmı muhtemelen yalnızca test amacıyla bulunduğundan geliştirme veritabanınızı içindeki tüm verileri üretime dağıtmazsınız. Örneğin, bir test veritabanındaki öğrenci adları kurgusaldır. Öte yandan, içinde hiç veri olmayan yalnızca veritabanı yapısını dağıtamazsınız. Test veritabanınızdaki verilerden bazıları gerçek veriler olabilir ve kullanıcılar uygulamayı kullanmaya başladığında orada olmaları gerekir. Örneğin, veritabanınızda geçerli not değerleri veya gerçek departman adları içeren bir tablo olabilir.

Bu yaygın senaryonun benzetimini yapmak için veritabanına yalnızca üretimde olmasını istediğiniz verileri ekleyen bir Code First Migrations Seed yöntemi yapılandıracaksınız. Code First veritabanını üretimde oluşturduğunda üretimde çalıştırılacağından bu Seed yöntem test verileri eklememelidir.

Geçişler yayımlanmadan önce Code First'in önceki sürümlerinde, geliştirme sırasında yapılan her model değişikliğinde veritabanının tamamen silinmesi ve sıfırdan yeniden oluşturulması gerekdiğinden, yöntemlerin test verilerini eklemesi de yaygındı Seed . Code First Migrations ile, test verileri veritabanı değişikliklerinden sonra korunur, bu nedenle yöntemde Seed test verileri dahil olmak gerekli değildir. İndirdiğiniz proje, başlatıcı sınıfının yöntemine Seed tüm verileri dahil etme yöntemini kullanır. Bu öğreticide bu başlatıcı sınıfını devre dışı bırakacak ve Geçişleri etkinleştireceksiniz. Ardından Migrations yapılandırma sınıfında yöntemini güncelleştirerek Seed yalnızca üretime eklenmesini istediğiniz verileri ekleyeceksiniz.

Aşağıdaki diyagramda uygulama veritabanının şeması gösterilmektedir:

School_database_diagram

Bu öğreticilerde, site ilk dağıtıldığında ve Enrollment tablolarının boş olması gerektiğini varsayarsınızStudent. Diğer tablolar, uygulama canlı yayına geçtiğinde önceden yüklenmesi gereken veriler içerir.

Başlatıcıyı devre dışı bırakma

Code First Migrations kullanacağınızdan, Code First başlatıcısını DropCreateDatabaseIfModelChanges kullanmanız gerekmez. Bu başlatıcının kodu ContosoUniversity.DAL projesindeki SchoolInitializer.cs dosyasındadır. Web.config dosyasının öğesindeki appSettings bir ayar, uygulama veritabanına ilk kez erişmeye çalıştığında bu başlatıcının çalışmasına neden olur:

<appSettings>
  <add key="Environment" value="Dev" />
  <add key="DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL" value="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity.DAL" />
</appSettings>

Uygulama Web.config dosyasını açın ve Code First başlatıcı sınıfını add belirten öğeyi kaldırın veya açıklama satırı oluşturun. appSettings öğesi şimdi şöyle görünür:

<appSettings>
  <add key="Environment" value="Dev" />
</appSettings>

Not

Başlatıcı sınıfını belirtmenin bir diğer yolu da Bunu Global.asax dosyasında yöntemini Application_Start çağırarak Database.SetInitializer yapmaktır. Başlatıcıyı belirtmek için bu yöntemi kullanan bir projede Geçişleri etkinleştiriyorsanız, bu kod satırını kaldırın.

Not

Visual Studio 2013 kullanıyorsanız, 2. ve 3. adımlar arasına aşağıdaki adımları ekleyin: (a) PMC'de EF'nin geçerli sürümünü almak için "update-package entityframework -version 6.1.1" girin. Ardından (b) derleme hatalarının listesini almak ve bunları düzeltmek için projeyi derleyin. Artık var olmayan ad alanları için using deyimlerini silin, sağ tıklayıp Çözümle'ye tıklayarak ihtiyaç duyulan durumlarda using deyimleri ekleyin ve System.Data.EntityState'in oluşumlarını System.Data.Entity.EntityState olarak değiştirin.

Code First Migrations etkinleştirme

  1. ContosoUniversity projesinin (ContosoUniversity.DAL değil) başlangıç projesi olarak ayarlandığından emin olun. Çözüm Gezgini'da ContosoUniversity projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin. Code First Migrations, veritabanı bağlantı dizesini bulmak için başlangıç projesine bakar.

  2. Araçlar menüsünde NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu seçin.

    Selecting_Package_Manager_Console

  3. Paket Yöneticisi Konsolu penceresinin üst kısmında, varsayılan proje olarak ContosoUniversity.DAL'yi seçin ve ardından PM> istemde "enable-migrations" yazın.

    enable-migrations komutu

    ( Enable-migrations komutunun tanınmadığını belirten bir hata alırsanız , update-package EntityFramework -Reinstall komutunu girin ve yeniden deneyin.)

    Bu komut ContosoUniversity.DAL projesinde bir Migrations klasörü oluşturur ve bu klasöre iki dosya yerleştirir: Migrations'ı yapılandırmak için kullanabileceğiniz configuration.cs dosyası ve veritabanını oluşturan ilk geçiş için initialCreate.cs dosyası.

    Migrations klasörü

    Komutun Code First bağlam sınıfını içeren projede yürütülmesi gerektiğinden, DAL projesini Paket Yöneticisi Konsolu'nunenable-migrationsVarsayılan proje açılan listesinde seçtiniz. Bu sınıf bir sınıf kitaplığı projesinde olduğunda Code First Migrations çözüm için başlangıç projesinde veritabanı bağlantı dizesini arar. ContosoUniversity çözümünde, web projesi başlangıç projesi olarak ayarlanmıştır. Bağlantı dizesine sahip projeyi Visual Studio'daki başlangıç projesi olarak belirlemek istemiyorsanız, başlangıç projesini PowerShell komutunda belirtebilirsiniz. Komut söz dizimini görmek için komutunu get-help enable-migrationsgirin.

    enable-migrations Veritabanı zaten var olduğundan, komut ilk geçişi otomatik olarak oluşturdu. Alternatif olarak, veritabanını Migrations'ın oluşturması gerekir. Bunu yapmak için Sunucu Gezgini'ni veya SQL Server Nesne Gezgini kullanarak Geçişleri etkinleştirmeden önce ContosoUniversity veritabanını silin. Geçişleri etkinleştirdikten sonra, "add-migration InitialCreate" komutunu girerek ilk geçişi el ile oluşturun. Daha sonra "update-database" komutunu girerek veritabanını oluşturabilirsiniz.

Seed yöntemini ayarlama

Bu öğreticide, Code First Migrations Configuration sınıfının yöntemine Seed kod ekleyerek sabit veriler ekleyeceksiniz. Code First Migrations her geçiş sonrasında Seed yöntemini çağırır.

Yöntem her geçişten Seed sonra çalıştığından, ilk geçişten sonra tablolarda zaten veriler vardır. Bu durumu işlemek için yöntemini kullanarak AddOrUpdate önceden eklenmiş satırları güncelleştirecek veya henüz yoksa ekleyeceksiniz. Yöntemi senaryonuz AddOrUpdate için en iyi seçenek olmayabilir. Daha fazla bilgi için Julie Lerman'ın blogunda EF 4.3 AddOrUpdate Yöntemi ile ilgilenme bölümüne bakın.

  1. Configuration.cs dosyasını açın ve yöntemindeki Seed açıklamaları aşağıdaki kodla değiştirin:

    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();
    
  2. Ad alanı için List henüz bir using deyiminiz olmadığından, bunların altında kırmızı dalgalı çizgiler olması için başvurular. örneklerinden List birine sağ tıklayın ve Çözümle'ye tıklayın ve ardından System.Collections.Generic'ı kullanarak öğesine tıklayın.

    using deyimiyle çözme

    Bu menü seçimi dosyanın üst kısmına yakın deyimlerine using aşağıdaki kodu ekler.

    using System.Collections.Generic;
    
  3. Projeyi oluşturmak için CTRL-SHIFT-B tuşlarına basın.

Proje artık ContosoUniversity veritabanını dağıtmaya hazırdır. Uygulamayı dağıttığınızda, uygulamayı ilk kez çalıştırdığınızda ve veritabanına erişen bir sayfaya gitmeniz durumunda Code First veritabanını oluşturur ve bu Seed yöntemi çalıştırır.

Not

yöntemine Seed kod eklemek, veritabanına sabit veri eklemenin birçok yoludur. Alternatif olarak, her geçiş sınıfının ve Down yöntemlerine kod Up ekleyebilirsiniz. Up ve Down yöntemleri, veritabanı değişikliklerini uygulayan kodu içerir. Veritabanı Güncelleştirmesi Dağıtma öğreticisinde bunların örneklerini görürsünüz.

Yöntemini kullanarak Sql SQL deyimlerini yürüten kod da yazabilirsiniz. Örneğin, Department tablosuna bütçe sütunu ekliyorsanız ve geçiş kapsamında tüm departman bütçelerini 1.000,00 TL olarak başlatmak istiyorsanız, bu geçiş için yöntemine Up aşağıdaki kod satırını ekleyebilirsiniz:

Sql("UPDATE Department SET Budget = 1000");

Üyelik veritabanı dağıtımı için betikler oluşturma

Contoso University uygulaması, kullanıcıların kimliğini doğrulamak ve yetkilendirmek için ASP.NET üyelik sistemini kullanır ve kimlik doğrulamasını oluşturur. Kredileri Güncelleştir sayfasına yalnızca Yönetici rolündeki kullanıcılar erişebilir.

Uygulamayı çalıştırın, Kurslar'a ve ardından Kredileri Güncelleştir'e tıklayın.

Kredileri Güncelleştir'e tıklayın

Kredileri Güncelleştir sayfası yönetim ayrıcalıkları gerektirdiğinden Oturum aç sayfası görüntülenir.

Kullanıcı adı olarak admin , parola olarak devpwd girin ve Oturum aç'a tıklayın.

Oturum açma sayfası

Kredileri Güncelleştir sayfası görüntülenir.

Kredileri Güncelleştir sayfası

Kullanıcı ve rol bilgileri, Web.config dosyasındaki DefaultConnection bağlantı dizesi tarafından belirtilen aspnet-ContosoUniversity veritabanındadır.

Bu veritabanı Entity Framework Code First tarafından yönetilmediği için Migrations kullanarak dağıtamazsınız. Veritabanı şemasını dağıtmak için dbDacFx sağlayıcısını kullanacaksınız ve yayımlama profilini veritabanı tablolarına ilk verileri ekleyecek bir betik çalıştıracak şekilde yapılandıracaksınız.

Not

Visual Studio 2013 ile yeni bir ASP.NET üyelik sistemi (artık ASP.NET Identity olarak adlandırılmıştır) kullanıma sunulmuştur. Yeni sistem hem uygulama hem de üyelik tablolarını aynı veritabanında tutmanızı sağlar ve her ikisini de dağıtmak için Code First Migrations kullanabilirsiniz. Örnek uygulama, Code First Migrations kullanılarak dağıtılabilen önceki ASP.NET üyelik sistemini kullanır. Bu üyelik veritabanını dağıtma yordamları, uygulamanızın Entity Framework Code First tarafından oluşturulmamış bir SQL Server veritabanını dağıtması gereken diğer tüm senaryolar için de geçerlidir.

Burada da genellikle üretimde geliştirme aşamasında sahip olduğunuz verilerin aynı olmasını istemezsiniz. Bir siteyi ilk kez dağıttığınızda, test için oluşturduğunuz kullanıcı hesaplarının çoğunu veya tümünü dışlamak yaygın bir durumdur. Bu nedenle, indirilen projenin iki üyelik veritabanı vardır: geliştirme kullanıcıları ile aspnet-ContosoUniversity.mdf ve üretim kullanıcıları ile aspnet-ContosoUniversity-Prod.mdf . Bu öğretici için kullanıcı adları her iki veritabanında da aynıdır: admin ve nonadmin. Her iki kullanıcı da geliştirme veritabanında devpwd ve üretim veritabanında prodpwd parolasına sahiptir.

Geliştirme kullanıcılarını test ortamına, üretim kullanıcılarını ise hazırlama ve üretim ortamına dağıtacaksınız. Bunu yapmak için bu öğreticide biri geliştirme, diğeri üretim için olmak üzere iki SQL betiği oluşturacak ve sonraki öğreticilerde yayımlama işlemini bunları çalıştıracak şekilde yapılandıracaksınız.

Not

Üyelik veritabanı hesap parolalarının karması depolar. Hesapları bir makineden diğerine dağıtmak için, karma yordamlarının hedef sunucuda kaynak bilgisayardakinden farklı karmalar oluşturmadığından emin olmanız gerekir. Varsayılan algoritmayı değiştirmediğiniz sürece ASP.NET Evrensel Sağlayıcıları kullandığınızda aynı karmaları oluştururlar. Varsayılan algoritma HMACSHA256'dır ve Web.config dosyasındaki machineKey öğesinin doğrulama özniteliğinde belirtilir.

Veri dağıtım betiklerini el ile, SQL Server Management Studio (SSMS) veya üçüncü taraf bir araç kullanarak oluşturabilirsiniz. Bu öğreticinin geri kalanında bunu SSMS'de nasıl yapacağınız gösterilir, ancak SSMS'yi yüklemek ve kullanmak istemiyorsanız projenin tamamlanmış sürümünden betikleri alabilir ve çözüm klasöründe depoladığınız bölüme atlayabilirsiniz.

SSMS'yi yüklemek için İndirme Merkezi'nden yükleyin: Microsoft SQL Server 2012 Express'e tıklayarak ENU\x64\SQLManagementStudio_x64_ENU.exe veya ENU\x86\SQLManagementStudio_x86_ENU.exe. Sisteminiz için yanlış olanı seçerseniz yükleme başarısız olur ve diğerini deneyebilirsiniz.

(Bunun 600 megabaytlık bir indirme olduğunu unutmayın. Yüklenmesi uzun sürebilir ve bilgisayarınızın yeniden başlatılmasını gerektirir.)

SQL Server Yükleme Merkezi'nin ilk sayfasında, Yeni SQL Server tek başına yükleme'ye tıklayın veya var olan bir yüklemeye özellikler ekleyin ve yönergeleri izleyerek varsayılan seçenekleri kabul edin.

Geliştirme veritabanı betiğini oluşturma

  1. SSMS'i çalıştırın.

  2. Sunucuya Bağlan iletişim kutusunda Sunucu adı olarak (localdb)\v11.0 yazın, Kimlik Doğrulaması'nıWindows Kimlik Doğrulaması olarak bırakın ve Bağlan'a tıklayın.

    SSMS Sunucuya Bağlan

  3. Nesne Gezgini penceresinde Veritabanları'nı genişletin, aspnet-ContosoUniversity öğesine sağ tıklayın, Görevler'e tıklayın ve ardından Betik Oluştur'a tıklayın.

    SSMS Betikler Oluşturma

  4. Betik Oluştur ve Yayımla iletişim kutusunda Betik Oluşturma Seçeneklerini Ayarla'ya tıklayın.

    Varsayılan değer Tüm veritabanının ve tüm veritabanı nesnelerinin betiği olduğundan ve istediğiniz bu olduğundan Nesneleri Seç adımını atlayabilirsiniz.

  5. Gelişmiş'e tıklayın.

    SSMS Betik Oluşturma Seçenekleri

  6. Gelişmiş Betik Seçenekleri iletişim kutusunda aşağı kaydırarak Betik yazacak veri türleri'ne gelin ve açılan listede Yalnızca veri seçeneğine tıklayın.

  7. Betik KULLANIM VERİtABANI'niFalse olarak değiştirin. USE deyimleri Azure SQL Veritabanı için geçerli değildir ve test ortamında SQL Server Express dağıtımı için gerekli değildir.

    Yalnızca SSMS Betik Verileri, USE deyimi yok

  8. Tamam'a tıklayın.

  9. Betik Oluştur ve Yayımla iletişim kutusunda, Dosya adı kutusu betiğin oluşturulacağı yeri belirtir. Çözüm klasörünüzün yolunu (ContosoUniversity.sln dosyanızın bulunduğu klasör) ve dosya adını aspnet-data-dev.sql olarak değiştirin.

  10. Özet sekmesine gitmek için İleri'ye tıklayın ve ardından betiği oluşturmak için yeniden İleri'ye tıklayın.

    SSMS Betiği Oluşturuldu

  11. Finish (Son) düğmesine tıklayın.

Üretim veritabanı betiğini oluşturma

Projeyi üretim veritabanıyla çalıştırmadığınız için henüz LocalDB örneğine eklenmemiştir. Bu nedenle önce veritabanını eklemeniz gerekir.

  1. SSMS Nesne Gezgini Veritabanları'na sağ tıklayın veEkle'ye tıklayın.

    SSMS Ekleme

  2. Veritabanı Ekle iletişim kutusunda Ekle'ye tıklayın ve ardından App_Data klasöründeki aspnet-ContosoUniversity-Prod.mdf dosyasına gidin.

    SSMS Eklemek için .mdf dosyası ekleme

  3. Tamam'a tıklayın.

  4. Üretim dosyası için betik oluşturmak için daha önce kullandığınız yordamı izleyin. Betik dosyasını aspnet-data-prod.sql olarak adlandırın.

Özet

Her iki veritabanı da artık dağıtılmaya hazır ve çözüm klasörünüzde iki veri dağıtım betikleri var.

Veri dağıtım betikleri

Aşağıdaki öğreticide dağıtımı etkileyen proje ayarlarını yapılandıracak ve dağıtılan uygulamada farklı olması gereken ayarlar için otomatik Web.config dosya dönüştürmeleri ayarlamış olacaksınız.

Daha Fazla Bilgi

NuGet hakkında daha fazla bilgi için bkz. NuGet ile Proje Kitaplıklarını Yönetme ve NuGet Belgeleri. NuGet'i kullanmak istemiyorsanız, nuget paketinin yüklendiğinde ne yaptığını belirlemek için nasıl çözümleneceğini öğrenmeniz gerekir. (Örneğin, Web.config dönüştürmeleri yapılandırabilir, PowerShell betiklerini derleme zamanında çalışacak şekilde yapılandırabilir vb.) NuGet'in nasıl çalıştığı hakkında daha fazla bilgi edinmek için bkz. Paket Oluşturma ve Yayımlama ve Yapılandırma Dosyası ve Kaynak Kodu Dönüştürmeleri.