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ı Author
olarak 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ı Book
baş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 Author
iç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:
-
AuthorsController
bir 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. 'denDbContext
devralı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.