Veritabanını Görmek için Code First Migrations Kullanma
Bu bölümde, veritabanını test verileriyle görmek için EF'deki Code First Migrations kullanacaksınız.
Araçlar menüsünde NuGet Paket Yöneticisi'ni ve ardından Paket Yöneticisi Konsolu'nu seçin. Paket Yöneticisi Konsolu penceresinde aşağıdaki komutu girin:
Enable-Migrations
Bu komut projenize Migrations adlı bir klasörün yanı sıra Migrations klasörüne Configuration.cs adlı bir kod dosyası ekler.
Configuration.cs dosyasını açın. Aşağıdaki using deyimini ekleyin.
using BookService.Models;
Ardından Configuration.Seed yöntemine aşağıdaki kodu ekleyin:
protected override void Seed(BookService.Models.BookServiceContext context)
{
context.Authors.AddOrUpdate(x => x.Id,
new Author() { Id = 1, Name = "Jane Austen" },
new Author() { Id = 2, Name = "Charles Dickens" },
new Author() { Id = 3, Name = "Miguel de Cervantes" }
);
context.Books.AddOrUpdate(x => x.Id,
new Book() { Id = 1, Title = "Pride and Prejudice", Year = 1813, AuthorId = 1,
Price = 9.99M, Genre = "Comedy of manners" },
new Book() { Id = 2, Title = "Northanger Abbey", Year = 1817, AuthorId = 1,
Price = 12.95M, Genre = "Gothic parody" },
new Book() { Id = 3, Title = "David Copperfield", Year = 1850, AuthorId = 2,
Price = 15, Genre = "Bildungsroman" },
new Book() { Id = 4, Title = "Don Quixote", Year = 1617, AuthorId = 3,
Price = 8.95M, Genre = "Picaresque" }
);
}
Paket Yöneticisi Konsolu penceresinde aşağıdaki komutları yazın:
Add-Migration Initial
Update-Database
İlk komut veritabanını oluşturan kodu oluşturur ve ikinci komut bu kodu yürütür. Veritabanı LocalDB kullanılarak yerel olarak oluşturulur.
API'yi keşfetme (İsteğe bağlı)
Uygulamayı hata ayıklama modunda çalıştırmak için F5 tuşuna basın. Visual Studio IIS Express başlar ve web uygulamanızı çalıştırır. Ardından Visual Studio bir tarayıcı başlatır ve uygulamanın giriş sayfasını açar.
Visual Studio bir web projesi çalıştırdığında bir bağlantı noktası numarası atar. Aşağıdaki resimde bağlantı noktası numarası 50524'dür. Uygulamayı çalıştırdığınızda farklı bir bağlantı noktası numarası görürsünüz.
Giriş sayfası ASP.NET MVC kullanılarak uygulanır. Sayfanın üst kısmında "API" yazan bir bağlantı vardır. Bu bağlantı sizi web API'sinin otomatik olarak oluşturulan yardım sayfasına getirir. (Bu yardım sayfasının nasıl oluşturulduğunu ve sayfaya kendi belgelerinizi nasıl ekleyeceğinizi öğrenmek için bkz. ASP.NET Web API'sinde Yardım Sayfaları Oluşturma.) İstek ve yanıt biçimi de dahil olmak üzere API hakkındaki ayrıntıları görmek için yardım sayfası bağlantılarına tıklayabilirsiniz.
API, veritabanında CRUD işlemlerini etkinleştirir. Aşağıda API özetlemektedir.
Yazarlar | Description |
---|---|
GET api'leri/yazarları | Tüm yazarları alın. |
GET api/authors/{id} | Kimliğine göre bir yazar alın. |
POST /api/authors | Yeni bir yazar oluşturun. |
PUT /api/authors/{id} | Var olan bir yazarı güncelleştirin. |
DELETE /api/authors/{id} | Bir yazarı silin. |
Kitaplar | Description |
---|---|
GET /api/books | Bütün kitapları al. |
GET /api/books/{id} | Kimliğine göre bir kitap al. |
POST /api/books | Yeni bir kitap oluşturun. |
PUT /api/books/{id} | Mevcut bir kitabı güncelleştirin. |
DELETE /api/books/{id} | Bir kitabı silme. |
Veritabanını Görüntüleme (İsteğe Bağlı)
Update-Database komutunu çalıştırdığınızda EF veritabanını oluşturup yöntemini çağırdı Seed
. Uygulamayı yerel olarak çalıştırdığınızda, EF LocalDB kullanır. Veritabanını Visual Studio'da görüntüleyebilirsiniz. Görünüm menüsünde SQL Server Nesne Gezgini'ni seçin.
Sunucuya Bağlan iletişim kutusundaki Sunucu Adı düzenleme kutusuna "(localdb)\v11.0" yazın. Kimlik Doğrulaması seçeneğini "Windows Kimlik Doğrulaması" olarak bırakın. Bağlan'a tıklayın.
Visual Studio LocalDB'ye bağlanır ve var olan veritabanlarınızı SQL Server Nesne Gezgini penceresinde gösterir. EF'nin oluşturduğu tabloları görmek için düğümleri genişletebilirsiniz.
Verileri görüntülemek için bir tabloya sağ tıklayın ve Verileri Görüntüle'yi seçin.
Aşağıdaki ekran görüntüsünde Kitaplar tablosunun sonuçları gösterilmektedir. EF'nin veritabanını tohum verileriyle doldurduğunu ve tabloda Yazarlar tablosunun yabancı anahtarının bulunduğuna dikkat edin.