Aracılığıyla paylaş


Model Ekleme (C#)

tarafından Rick Anderson

Bu öğreticide, Microsoft Visual Studio'nun ücretsiz sürümü olan Microsoft Visual Web Developer 2010 Express Service Pack 1'i kullanarak ASP.NET MVC Web uygulaması oluşturmanın temelleri öğretilecektir. Başlamadan önce, aşağıda listelenen önkoşulları yüklediğinizden emin olun. Aşağıdaki bağlantıya tıklayarak bunların tümünü yükleyebilirsiniz: Web Platformu Yükleyicisi. Alternatif olarak, aşağıdaki bağlantıları kullanarak önkoşulları tek tek yükleyebilirsiniz:

Visual Web Developer 2010 yerine Visual Studio 2010 kullanıyorsanız, şu bağlantıya tıklayarak önkoşulları yükleyin: Visual Studio 2010 önkoşulları.

C# kaynak kodu içeren bir Visual Web Developer projesi bu konuya eşlik edebilir. C# sürümünü indirin. Visual Basic'i tercih ediyorsanız, bu öğreticinin Visual Basic sürümüne geçin.

Model Ekleme

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" parçası olacaktır.

Bu model sınıflarını tanımlamak ve bunlarla çalışmak için Entity Framework olarak bilinen .NET Framework veri erişim teknolojisini 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.

Çözüm Gezgini penceresini gösteren ekran görüntüsü. Ekle seçeneği Modeller sağ tıklama menüsünde seçilidir. Alt menüde sınıf seçilir.

Sınıfı "Movie" olarak adlandırın.

CreateMovieClass

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ütunla eşlenir.

Aynı dosyaya aşağıdaki MovieDBContext sınıfı ekleyin:

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

sınıfı MovieDBContext , 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 DbSethakkında DbContext daha fazla bilgi için bkz. Entity Framework için Üretkenlik Geliştirmeleri.

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.

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 Compact 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. Ancak sorabileceğiniz sorulardan biri, hangi veritabanına bağlanacağının nasıl belirtileceğidir. Bunu, uygulamanın Web.config dosyasına bağlantı bilgilerini 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.) Aşağıdaki resimde her ikiWeb.config dosyası da gösterilir; Web.config dosyasını kırmızıyla daire içine alınmış olarak açın.

Çözüm Gezgini penceresini gösteren ekran görüntüsü. Web noktası yapılandırması kırmızı daire içine alınır.

aşağıdaki bağlantı dizesini <connectionStrings>Web.config dosyasındaki öğesine ekleyin.

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

Aşağıdaki örnekte , yeni bağlantı dizesinin eklendiğiWeb.configdosyasının bir bölümü gösterilmektedir:

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

Bu küçük miktarda kod ve XML, 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.