Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autor : Rick Anderson
Uwaga / Notatka
Zaktualizowana wersja tego samouczka jest dostępna tutaj przy użyciu najnowszej wersji programu Visual Studio. W nowym samouczku jest używany ASP.NET Core MVC, który oferuje wiele ulepszeń w porównaniu do tego samouczka.
W tym samouczku przedstawiono ASP.NET Core MVC z kontrolerami i widokami. Razor Pages to nowa alternatywa w ASP.NET Core, model programowania oparty na stronach, który ułatwia tworzenie internetowego interfejsu użytkownika, czyniąc je łatwiejszym i bardziej wydajnym. Zalecamy wypróbowanie samouczka razor Pages przed wersją MVC. Samouczek Razor Pages
- Jest łatwiejsze do naśladowania.
- Obejmuje więcej funkcji.
- Jest preferowanym podejściem do tworzenia nowych aplikacji.
Tworzenie parametrów połączenia i praca z bazą danych LocalDB programu SQL Server
Utworzona MovieDBContext klasa obsługuje zadanie nawiązywania połączenia z bazą danych i mapowanie Movie obiektów na rekordy bazy danych. Jednym z pytań, które można zadać, jest jednak określenie, z którą bazą danych będzie się łączyć. W rzeczywistości nie trzeba określać, której bazy danych użyć, program Entity Framework będzie domyślnie używać bazy danych LocalDB. W tej sekcji jawnie dodamy parametry połączenia w pliku Web.config aplikacji.
SQL Server Express LocalDB (lokalna baza danych)
LocalDB to uproszczona wersja aparatu bazy danych SQL Server Express, która uruchamia się na żądanie i działa w trybie użytkownika. Baza danych LocalDB działa w specjalnym trybie wykonywania programu SQL Server Express, który umożliwia pracę z bazami danych jako pliki .mdf . Zazwyczaj pliki bazy danych LocalDB są przechowywane w folderze App_Data projektu internetowego.
Program SQL Server Express nie jest zalecany do użycia w produkcyjnych aplikacjach internetowych. W szczególności baza danych LocalDB nie powinna być używana do produkcji z aplikacją internetową, ponieważ nie jest przeznaczona do pracy z usługami IIS. Jednak bazę danych LocalDB można łatwo migrować do programu SQL Server lub sql Azure.
W programie Visual Studio 2017 baza danych LocalDB jest instalowana domyślnie w programie Visual Studio.
Domyślnie program Entity Framework szuka parametrów połączenia o nazwie takiej samej jak klasa kontekstu obiektu (MovieDBContext dla tego projektu). Aby uzyskać więcej informacji, zobacz Sql Server Connection Strings for ASP.NET Web Applications (Parametry połączenia programu SQL Server dla aplikacji internetowych ASP.NET).
Otwórz plik główny aplikacji Web.config pokazany poniżej. (Nie plik Web.config w folderze Views ).
Znajdź element <connectionStrings>:
Dodaj następujący ciąg połączenia do elementu <connectionStrings> w pliku 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"
/>
W poniższym przykładzie pokazano część pliku Web.config z dodanym nowym ciągiem połączenia:
<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>
Dwa ciągi połączeń są bardzo podobne. Pierwszy łańcuch połączenia nosi nazwę DefaultConnection i jest używany do bazy danych członkostwa, aby kontrolować, kto może uzyskać dostęp do aplikacji. Dodane parametry połączenia określają bazę danych LocalDB o nazwie Movie.mdf znajdującą się w folderze App_Data . Nie będziemy używać bazy danych członkostwa w tym samouczku, aby uzyskać więcej informacji na temat członkostwa, uwierzytelniania i zabezpieczeń, zobacz mój samouczek Tworzenie aplikacji ASP.NET MVC z uwierzytelnianiem i bazą danych SQL oraz wdrażanie w usłudze Azure App Service.
Nazwa parametrów połączenia musi być zgodna z nazwą klasy 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; }
}
}
Nie musisz faktycznie dodawać łańcucha połączenia MovieDBContext. Jeśli nie określisz parametrów połączenia, program Entity Framework utworzy bazę danych LocalDB w katalogu users z w pełni kwalifikowaną nazwą klasy DbContext (w tym przypadku MvcMovie.Models.MovieDBContext). Bazie danych można nadać dowolną nazwę, pod warunkiem że ma sufiks .MDF. Na przykład możemy nazwać MyFilms.mdf bazy danych.
Następnie utworzysz nową MoviesController klasę, której można użyć do wyświetlania danych filmu i umożliwienia użytkownikom tworzenia nowych list filmów.