Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Upozornění
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Objekt MvcMovieContext
zpracovává úlohu připojení k databázi a mapování Movie
objektů na záznamy databáze. Kontext databáze je zaregistrovaný v kontejneru injektáže závislostí v Program.cs
souboru:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext") ?? throw new InvalidOperationException("Connection string 'MvcMovieContext' not found.")));
Systém ASP.NET Core Configuration načte ConnectionString
klíč. Pro místní vývoj získá připojovací řetězec ze appsettings.json
souboru:
"ConnectionStrings": {
"MvcMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext-4ebefa10-de29-4dea-b2ad-8a8dc6bcf374;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Upozornění
Tento článek používá místní databázi, která nevyžaduje ověření uživatele. Produkční aplikace by měly používat nejbezpečnější dostupný tok ověřování. Další informace o ověřování nasazených testovacích a produkčníchaplikacích
LocalDB:
V nabídce Zobrazení otevřete SQL Server Průzkumník objektů (SSOX).
Klikněte pravým tlačítkem myši na návrháře Movie
zobrazení tabulky (dbo.Movie
). >
Poznamenejte si ikonu klávesy vedle ID
tlačítka . Ef ve výchozím nastavení vytvoří vlastnost s názvem ID
primární klíč.
Klikněte pravým tlačítkem myši na Movie
data zobrazení tabulky > .
Vytvořte novou třídu pojmenovanou SeedData
ve složce Models . Vygenerovaný kód nahraďte následujícím kódem:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using System;
using System.Linq;
namespace MvcMovie.Models;
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new MvcMovieContext(
serviceProvider.GetRequiredService<
DbContextOptions<MvcMovieContext>>()))
{
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateTime.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateTime.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateTime.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
}
Pokud jsou v databázi nějaké filmy, počáteční inicializátor vrátí a nepřidají se žádné filmy.
if (context.Movie.Any())
{
return; // DB has been seeded.
}
Nahraďte obsah Program.cs
následujícím kódem. Nový kód je zvýrazněný.
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using MvcMovie.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext") ?? throw new InvalidOperationException("Connection string 'MvcMovieContext' not found.")));
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
SeedData.Initialize(services);
}
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapStaticAssets();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Odstraňte všechny záznamy v databázi. Můžete to udělat pomocí odkazů pro odstranění v prohlížeči nebo ze služby SSOX.
Otestujete aplikaci. Vynuťte inicializaci aplikace, která volá kód v Program.cs
souboru, takže se spustí počáteční metoda. Pokud chcete vynutit inicializaci, zavřete okno příkazového řádku, které Visual Studio otevřelo, a restartujte stisknutím kombinace kláves Ctrl+F5.
Aplikace zobrazuje počáteční data.
Objekt MvcMovieContext
zpracovává úlohu připojení k databázi a mapování Movie
objektů na záznamy databáze. Kontext databáze je zaregistrovaný v kontejneru injektáže závislostí v Program.cs
souboru:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
Systém ASP.NET Core Configuration načte ConnectionString
klíč. Pro místní vývoj získá připojovací řetězec ze appsettings.json
souboru:
"ConnectionStrings": {
"MvcMovieContext": "Data Source=MvcMovieContext-ea7a4069-f366-4742-bd1c-3f753a804ce1.db"
}
Upozornění
Tento článek používá místní databázi, která nevyžaduje ověření uživatele. Produkční aplikace by měly používat nejbezpečnější dostupný tok ověřování. Další informace o ověřování nasazených testovacích a produkčníchaplikacích
LocalDB:
V nabídce Zobrazení otevřete SQL Server Průzkumník objektů (SSOX).
Klikněte pravým tlačítkem myši na návrháře Movie
zobrazení tabulky (dbo.Movie
). >
Poznamenejte si ikonu klávesy vedle ID
tlačítka . Ef ve výchozím nastavení vytvoří vlastnost s názvem ID
primární klíč.
Klikněte pravým tlačítkem myši na Movie
data zobrazení tabulky > .
Vytvořte novou třídu pojmenovanou SeedData
ve složce Models . Vygenerovaný kód nahraďte následujícím kódem:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using System;
using System.Linq;
namespace MvcMovie.Models;
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new MvcMovieContext(
serviceProvider.GetRequiredService<
DbContextOptions<MvcMovieContext>>()))
{
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateTime.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateTime.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateTime.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
}
Pokud jsou v databázi nějaké filmy, počáteční inicializátor vrátí a nepřidají se žádné filmy.
if (context.Movie.Any())
{
return; // DB has been seeded.
}
Nahraďte obsah Program.cs
následujícím kódem. Nový kód je zvýrazněný.
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using MvcMovie.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
SeedData.Initialize(services);
}
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Odstraňte všechny záznamy v databázi. Můžete to udělat pomocí odkazů pro odstranění v prohlížeči nebo ze služby SSOX.
Otestujete aplikaci. Vynuťte inicializaci aplikace, která volá kód v Program.cs
souboru, takže se spustí počáteční metoda. Pokud chcete vynutit inicializaci, zavřete okno příkazového řádku, které Visual Studio otevřelo, a restartujte stisknutím kombinace kláves Ctrl+F5.
Aplikace zobrazuje počáteční data.
Objekt MvcMovieContext
zpracovává úlohu připojení k databázi a mapování Movie
objektů na záznamy databáze. Kontext databáze je zaregistrovaný v kontejneru injektáže závislostí v Program.cs
souboru:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
Systém ASP.NET Core Configuration načte ConnectionString
klíč. Pro místní vývoj získá připojovací řetězec ze appsettings.json
souboru:
"ConnectionStrings": {
"MvcMovieContext": "Data Source=MvcMovieContext-ea7a4069-f366-4742-bd1c-3f753a804ce1.db"
}
Upozornění
Tento článek používá místní databázi, která nevyžaduje ověření uživatele. Produkční aplikace by měly používat nejbezpečnější dostupný tok ověřování. Další informace o ověřování nasazených testovacích a produkčníchaplikacích
LocalDB:
V nabídce Zobrazení otevřete SQL Server Průzkumník objektů (SSOX).
Klikněte pravým tlačítkem myši na návrháře Movie
zobrazení tabulky (dbo.Movie
). >
Poznamenejte si ikonu klávesy vedle ID
tlačítka . Ef ve výchozím nastavení vytvoří vlastnost s názvem ID
primární klíč.
Klikněte pravým tlačítkem myši na Movie
data zobrazení tabulky > .
Vytvořte novou třídu pojmenovanou SeedData
ve složce Models . Vygenerovaný kód nahraďte následujícím kódem:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using System;
using System.Linq;
namespace MvcMovie.Models;
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new MvcMovieContext(
serviceProvider.GetRequiredService<
DbContextOptions<MvcMovieContext>>()))
{
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateTime.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateTime.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateTime.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
}
Pokud jsou v databázi nějaké filmy, počáteční inicializátor vrátí a nepřidají se žádné filmy.
if (context.Movie.Any())
{
return; // DB has been seeded.
}
<a name=snippet_"si">
Nahraďte obsah Program.cs
následujícím kódem. Nový kód je zvýrazněný.
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using MvcMovie.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
SeedData.Initialize(services);
}
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Odstraňte všechny záznamy v databázi. Můžete to udělat pomocí odkazů pro odstranění v prohlížeči nebo ze služby SSOX.
Otestujete aplikaci. Vynuťte inicializaci aplikace, která volá kód v Program.cs
souboru, takže se spustí počáteční metoda. Pokud chcete vynutit inicializaci, zavřete okno příkazového řádku, které Visual Studio otevřelo, a restartujte stisknutím kombinace kláves Ctrl+F5.
Aplikace zobrazuje počáteční data.
Objekt MvcMovieContext
zpracovává úlohu připojení k databázi a mapování Movie
objektů na záznamy databáze. Kontext databáze je zaregistrovaný v kontejneru injektáže závislostí v Program.cs
souboru:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
Systém ASP.NET Core Configuration načte ConnectionString
klíč. Pro místní vývoj získá připojovací řetězec ze appsettings.json
souboru:
"ConnectionStrings": {
"MvcMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext-7dc5;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Upozornění
Tento článek používá místní databázi, která nevyžaduje ověření uživatele. Produkční aplikace by měly používat nejbezpečnější dostupný tok ověřování. Další informace o ověřování nasazených testovacích a produkčníchaplikacích
LocalDB:
Vytvořte novou třídu pojmenovanou SeedData
ve složce Models . Vygenerovaný kód nahraďte následujícím kódem:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using System;
using System.Linq;
namespace MvcMovie.Models
{
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new MvcMovieContext(
serviceProvider.GetRequiredService<
DbContextOptions<MvcMovieContext>>()))
{
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateTime.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateTime.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateTime.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
}
}
Pokud jsou v databázi nějaké filmy, počáteční inicializátor vrátí a nepřidají se žádné filmy.
if (context.Movie.Any())
{
return; // DB has been seeded.
}
Nahraďte obsah Program.cs
následujícím kódem. Nový kód je zvýrazněný.
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using MvcMovie.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("MvcMovieContext")));
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
SeedData.Initialize(services);
}
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Odstraňte všechny záznamy v databázi. Můžete to udělat pomocí odkazů pro odstranění v prohlížeči nebo ze služby SSOX.
Otestujete aplikaci. Vynuťte inicializaci aplikace, která volá kód v Program.cs
souboru, takže se spustí počáteční metoda. Pokud chcete vynutit inicializaci, zavřete okno příkazového řádku, které Visual Studio otevřelo, a restartujte stisknutím kombinace kláves Ctrl+F5.
Aplikace zobrazuje počáteční data.
Objekt MvcMovieContext
zpracovává úlohu připojení k databázi a mapování Movie
objektů na záznamy databáze. Kontext databáze je zaregistrovaný v kontejneru injektáže závislostí v ConfigureServices
metodě v Startup.cs
souboru:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MvcMovieContext")));
}
Systém ASP.NET Core Configuration načte ConnectionString
klíč. Pro místní vývoj získá připojovací řetězec ze appsettings.json
souboru:
"ConnectionStrings": {
"MvcMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext-2;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Upozornění
Tento článek používá místní databázi, která nevyžaduje ověření uživatele. Produkční aplikace by měly používat nejbezpečnější dostupný tok ověřování. Další informace o ověřování nasazených testovacích a produkčníchaplikacích
LocalDB:
V nabídce Zobrazení otevřete SQL Server Průzkumník objektů (SSOX).
Klikněte pravým tlačítkem myši na návrháře Movie
zobrazení tabulky > .
Poznamenejte si ikonu klávesy vedle ID
tlačítka . Ef ve výchozím nastavení vytvoří vlastnost s názvem ID
primární klíč.
Klikněte pravým tlačítkem myši na Movie
data zobrazení tabulky > .
Vytvořte novou třídu pojmenovanou SeedData
ve složce Models . Vygenerovaný kód nahraďte následujícím kódem:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MvcMovie.Data;
using System;
using System.Linq;
namespace MvcMovie.Models
{
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var context = new MvcMovieContext(
serviceProvider.GetRequiredService<
DbContextOptions<MvcMovieContext>>()))
{
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateTime.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateTime.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateTime.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
}
}
Pokud jsou v databázi nějaké filmy, počáteční inicializátor vrátí a nepřidají se žádné filmy.
if (context.Movie.Any())
{
return; // DB has been seeded.
}
Program.cs
Obsah nahraďte následujícím kódem:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using MvcMovie.Data;
using MvcMovie.Models;
using System;
namespace MvcMovie
{
public class Program
{
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
try
{
SeedData.Initialize(services);
}
catch (Exception ex)
{
var logger = services.GetRequiredService<ILogger<Program>>();
logger.LogError(ex, "An error occurred seeding the DB.");
}
}
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
Otestujete aplikaci.
Odstraňte všechny záznamy v databázi. Můžete to udělat pomocí odkazů pro odstranění v prohlížeči nebo ze služby SSOX.
Vynutit inicializaci aplikace, volání metod ve Startup
třídě, takže počáteční metoda se spustí. Aby bylo možné vynutit inicializaci, musí se služba IIS Express zastavit a restartovat. Můžete to udělat pomocí některého z následujících přístupů:
V oznamovací oblasti klikněte pravým tlačítkem myši na ikonu hlavního panelu systému SLUŽBY IIS Express a klepněte na Ukončit nebo zastavit web:
Aplikace zobrazuje počáteční data.
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceŠkolení
Modul
Použití databáze s minimálním rozhraním API, Entity Framework Core a ASP.NET Core - Training
Zjistěte, jak přidat databázi do minimální aplikace API.
Dokumentace
Část 4: Přidání modelu do aplikace ASP.NET Core MVC
4. část série kurzů o ASP.NET Core MVC.
Část 6, metody kontroleru a zobrazení v ASP.NET Core
Část 6: Přidání modelu do aplikace ASP.NET Core MVC
Část 3: Přidání zobrazení do aplikace ASP.NET Core MVC
3. část série kurzů o ASP.NET Core MVC.