Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Rick Anderson
Catatan
Versi terbaru dari tutorial ini tersedia di sini menggunakan versi terbaru Visual Studio. Tutorial baru menggunakan ASP.NET Core MVC, yang memberikan banyak peningkatan atas tutorial ini.
Tutorial ini mengajarkan ASP.NET Core MVC dengan pengontrol dan tampilan. Razor Pages adalah alternatif baru dalam ASP.NET Core, model pemrograman berbasis halaman yang membuat membangun UI web lebih mudah dan lebih produktif. Kami sarankan Anda mencoba tutorial Razor Pages sebelum versi MVC. Tutorial Halaman Razor:
- Lebih mudah diikuti.
- Mencakup lebih banyak fitur.
- Adalah pendekatan yang disukai untuk pengembangan aplikasi baru.
Membuat String Koneksi dan Bekerja dengan SQL Server LocalDB
Kelas MovieDBContext
yang Anda buat menangani tugas menyambungkan ke database dan memetakan Movie
objek ke rekaman database. Namun, satu pertanyaan yang mungkin Anda tanyakan adalah cara menentukan database mana yang akan disambungkannya. Anda sebenarnya tidak perlu menentukan database mana yang akan digunakan, Entity Framework akan default menggunakan LocalDB. Di bagian ini kita akan secara eksplisit menambahkan string koneksi dalam file Web.config aplikasi.
LocalDB SQL Server Express
LocalDB adalah versi ringan dari mesin database SQL Server Express yang dimulai sesuai permintaan dan berjalan dalam mode pengguna. LocalDB berjalan dalam mode eksekusi khusus SQL Server Express yang memungkinkan Anda bekerja dengan database sebagai file .mdf. Biasanya, file database LocalDB disimpan di folder App_Data proyek web.
SQL Server Express tidak disarankan untuk digunakan dalam aplikasi web produksi. LocalDB khususnya tidak boleh digunakan untuk produksi dengan aplikasi web karena tidak dirancang untuk bekerja dengan IIS. Namun, database LocalDB dapat dengan mudah dimigrasikan ke SQL Server atau SQL Azure.
Di Visual Studio 2017, LocalDB diinstal secara default dengan Visual Studio.
Secara default, Kerangka Kerja Entitas mencari string koneksi bernama sama dengan kelas konteks objek (MovieDBContext
untuk proyek ini). Untuk informasi selengkapnya, lihat SQL Server String Koneksi untuk Aplikasi Web ASP.NET.
Buka file Web.config akar aplikasi yang ditunjukkan di bawah ini. (Bukan file Web.config di folder Tampilan .)
<connectionStrings>
Temukan elemen :
Tambahkan string koneksi berikut ke <connectionStrings>
elemen dalam file Web.config .
<add name="MovieDBContext"
connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf"
providerName="System.Data.SqlClient"
/>
Contoh berikut menunjukkan sebagian file Web.config dengan string koneksi baru ditambahkan:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie-fefdc1f0-bd81-4ce9-b712-93a062e01031;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcMovie-fefdc1f0-bd81-4ce9-b712-93a062e01031.mdf" providerName="System.Data.SqlClient" />
<add name="MovieDBContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
Dua string koneksi sangat mirip. String koneksi pertama diberi nama DefaultConnection
dan digunakan untuk database keanggotaan untuk mengontrol siapa yang dapat mengakses aplikasi. String koneksi yang telah Anda tambahkan menentukan database LocalDB bernama Movie.mdf yang terletak di folder App_Data . Kami tidak akan menggunakan database keanggotaan dalam tutorial ini, untuk informasi selengkapnya tentang keanggotaan, autentikasi, dan keamanan, lihat tutorial saya Membuat aplikasi MVC ASP.NET dengan autentikasi dan SQL DB dan menyebarkan ke Azure App Service.
Nama string koneksi harus cocok dengan nama kelas DbContext .
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; }
}
}
Anda sebenarnya tidak perlu menambahkan MovieDBContext
string koneksi. Jika Anda tidak menentukan string koneksi, Kerangka Kerja Entitas akan membuat database LocalDB di direktori pengguna dengan nama kelas DbContext yang sepenuhnya memenuhi syarat (dalam hal MvcMovie.Models.MovieDBContext
ini ). Anda dapat memberi nama database apa pun yang Anda suka, selama memiliki . Akhiran MDF . Misalnya, kita dapat memberi nama database MyFilms.mdf.
Selanjutnya, Anda akan membuat kelas baru MoviesController
yang dapat Anda gunakan untuk menampilkan data film dan memungkinkan pengguna untuk membuat daftar film baru.