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.
tarafından Rick Anderson
Not
Bu öğreticinin ASP.NET MVC 5 ve Visual Studio 2013 kullanan güncelleştirilmiş bir sürümü burada mevcuttur. Daha güvenlidir, takip etmek çok daha kolaydır ve daha fazla özellik gösterir.
Bu bölümde, veritabanındaki filmleri yönetmek için bazı sınıflar ekleyeceksiniz. Bu sınıflar, ASP.NET MVC uygulamasının "model" bölümü olacaktır.
Bu model sınıflarını tanımlamak ve bunlarla çalışmak için Entity Framework olarak bilinen .NET Framework bir veri erişim teknolojisi kullanacaksınız. Entity Framework (genellikle EF olarak adlandırılır) Code First adlı bir geliştirme paradigması destekler. Code First, basit sınıflar yazarak model nesneleri oluşturmanıza olanak tanır. (Bunlar "düz eski CLR nesnelerinden" POCO sınıfları olarak da bilinir.) Daha sonra veritabanını sınıflarınızdan anında oluşturabilirsiniz ve bu da çok temiz ve hızlı bir geliştirme iş akışı sağlar.
Model Sınıfları Ekleme
Çözüm Gezgini'daModeller klasörüne sağ tıklayın, Ekle'yi ve ardından Sınıf'ı seçin.
"Movie" sınıf adını girin.
Sınıfına aşağıdaki beş özelliği Movie
ekleyin:
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
Veritabanındaki filmleri temsil etmek için sınıfını Movie
kullanacağız. Bir Movie
nesnenin her örneği veritabanı tablosundaki bir satıra karşılık gelir ve sınıfın Movie
her özelliği tablodaki bir sütuna eşlenir.
Aynı dosyaya aşağıdaki MovieDBContext
sınıfı ekleyin:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
MovieDBContext
sınıfı, veritabanındaki sınıf örneklerini getirme, depolama ve güncelleştirme Movie
işlemlerini gerçekleştiren Entity Framework film veritabanı bağlamını temsil eder. , MovieDBContext
Entity Framework tarafından sağlanan temel sınıftan türetilir DbContext
.
ve DbSet
öğesine başvurabilmek DbContext
için dosyanın en üstüne aşağıdaki using
deyimi eklemeniz gerekir:
using System.Data.Entity;
Movie.cs dosyasının tamamı aşağıda gösterilmiştir. (Gerekli olmayan çeşitli using deyimleri kaldırıldı.)
using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}
Bağlantı Dizesi Oluşturma ve SQL Server LocalDB ile Çalışma
MovieDBContext
Oluşturduğunuz sınıf, veritabanına bağlanma ve nesneleri veritabanı kayıtlarına eşleme Movie
görevini işler. Yine de sorabileceğiniz sorulardan biri, bağlanacağı veritabanının nasıl belirtileceğidir. Bunu, uygulamanın Web.config dosyasına bağlantı bilgileri ekleyerek yapacaksınız.
Uygulama kök Web.config dosyasını açın. (Görünümler klasöründeki Web.config dosyası değil.) Kırmızıyla özetlenen Web.config dosyasını açın.
Web.config dosyasındaki <connectionStrings>
öğesine aşağıdaki bağlantı dizesini ekleyin.
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
Aşağıdaki örnekte , yeni bağlantı dizesinin eklendiğiWeb.configdosyasının bir bölümü gösterilmektedir:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"
providerName="System.Data.SqlClient"
/>
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
Bu küçük kod ve XML miktarı, film verilerini bir veritabanında göstermek ve depolamak için yazmanız gereken her şeydir.
Ardından, film verilerini görüntülemek ve kullanıcıların yeni MoviesController
film listeleri oluşturmasına izin vermek için kullanabileceğiniz yeni bir sınıf oluşturacaksınız.