Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu bölümde, veritabanı varlıklarını tanımlayan model sınıfları ekleyeceğiz. Ardından bu varlıklar üzerinde CRUD işlemleri gerçekleştiren Web API denetleyicileri ekleyebilirsiniz.
Model Sınıfları Ekleme
Bu öğreticide, Entity Framework(EF) için "Code First" yaklaşımını kullanarak veritabanını oluşturacağız. Code First ile veritabanı tablolarına karşılık gelen C# sınıfları yazarsınız ve EF veritabanını oluşturur. (Daha fazla bilgi için bkz . Entity Framework Geliştirme Yaklaşımları.)
İlk olarak etki alanı nesnelerimizi POCO'lar (düz eski CLR nesneleri) olarak tanımlayacağız. Aşağıdaki POCO'ları oluşturacağız:
- Yazma
- Book
Çözüm Gezgini'da Modeller klasörüne sağ tıklayın.
Ekle'yi ve ardından Sınıf'ı seçin. sınıfını Authorolarak adlandırın.
Author.cs dosyasındaki tüm ortak kodu aşağıdaki kodla değiştirin.
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace BookService.Models
{
public class Author
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
}
}
aşağıdaki kodla adlı Bookbaşka bir sınıf ekleyin.
using System.ComponentModel.DataAnnotations;
namespace BookService.Models
{
public class Book
{
public int Id { get; set; }
[Required]
public string Title { get; set; }
public int Year { get; set; }
public decimal Price { get; set; }
public string Genre { get; set; }
// Foreign Key
public int AuthorId { get; set; }
// Navigation property
public Author Author { get; set; }
}
}
Entity Framework, veritabanı tabloları oluşturmak için bu modelleri kullanır. Her model için Id özelliği, veritabanı tablosunun birincil anahtar sütunu olur.
Book sınıfında, AuthorId tablosunda bir yabancı anahtar Author tanımlar. (Basitlik açısından, her kitabın tek bir yazarı olduğunu varsayıyorum.) Kitap sınıfı, ilgili Authoriçin bir gezinti özelliği de içerir. İlgili koda erişmek Author için gezinti özelliğini kullanabilirsiniz. 4. bölümde Varlık İlişkilerini İşleme bölümünde gezinti özellikleri hakkında daha fazla bilgi söylerim.
Web API Denetleyicileri Ekleme
Bu bölümde CRUD işlemlerini (oluşturma, okuma, güncelleştirme ve silme) destekleyen Web API denetleyicileri ekleyeceğiz. Denetleyiciler, veritabanı katmanıyla iletişim kurmak için Entity Framework kullanır.
İlk olarak Controllers/ValuesController.cs dosyasını silebilirsiniz. Bu dosya örnek bir Web API denetleyicisi içerir, ancak bu öğretici için gerekli değildir.
Ardından projeyi derleyin. Web API'sinin iskelesi model sınıflarını bulmak için yansıma kullanır, bu nedenle derlenmiş derlemeye ihtiyaç duyar.
Çözüm Gezgini'da Denetleyiciler klasörüne sağ tıklayın. Ekle'yi ve ardından Denetleyici'yi seçin.
İskele Ekle iletişim kutusunda "Eylemlerle Web API 2 Denetleyicisi, Entity Framework kullanarak" seçeneğini belirleyin. Ekle'ye tıklayın.
Denetleyici Ekle iletişim kutusunda aşağıdakileri yapın:
-
Model sınıfı açılan listesinde sınıfı seçin
Author. (Açılan listede bu öğeyi görmüyorsanız projeyi oluşturduğunuzdan emin olun.) - "Zaman uyumsuz denetleyici eylemlerini kullan" seçeneğini işaretleyin.
- Denetleyici adını "AuthorsController" olarak bırakın.
- Veri Bağlamı Sınıfı'nın yanındaki artı (+) düğmesine tıklayın.
Yeni Veri Bağlamı iletişim kutusunda varsayılan adı bırakın ve Ekle'ye tıklayın.
Denetleyici Ekle iletişim kutusunu tamamlamak için Ekle'ye tıklayın. İletişim kutusu projenize iki sınıf ekler:
-
AuthorsControllerbir Web API denetleyicisi tanımlar. Denetleyici, istemcilerin yazar listesinde CRUD işlemleri gerçekleştirmek için kullandığı REST API'yi uygular. -
BookServiceContextçalışma zamanı sırasında varlık nesnelerini yönetir. Bu, nesneleri veritabanındaki verilerle doldurmayı, değişiklik izlemeyi ve veritabanında kalıcı hale getirmeyi içerir. 'denDbContextdevralır.
Bu noktada projeyi yeniden derleyin. Şimdi varlıklar için bir API denetleyicisi eklemek için Book aynı adımları izleyin. Bu kez model sınıfı için öğesini seçin Book ve veri bağlamı sınıfı için mevcut BookServiceContext sınıfı seçin. (Yeni veri bağlamı oluşturmayın.) Denetleyiciyi eklemek için Ekle'ye tıklayın.