สร้างโปรเจ็กส์แบบ WebApp (ด้วย Visual Studio 2017)
Add a model to a Razor Pages app in ASP.NET Core
สร้างโฟลเดอร์ Data
สร้างโฟลเดอร์ Data\Models
สร้างคลาส Data\Models\Movie.cs
Data\Models\Movie.cs
using System;
namespace WebApp.Data.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; }
}
}
สร้างโฟลเดอร์ Pages\Movies
คลิกขวาที่โฟลเดอร์ Pages\Movies | Add | New Scaffolded Item


ใต้โฟลเดอร์ Pages/Movies จะสร้างไฟล์ Create, Delete, Details, Edit, Index ขึ้นมา
และใต้โฟลเดอร์ Data จะสร้างไฟล์ ApplicationDbContext.cs
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("ApplicationDbContext")));
}
บรรทัดที่ 13-14 : เพิ่มส่วนติดต่อ SqlServer เข้ามา
appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"ApplicationDbContext": "Server=(localdb)\\mssqllocaldb;Database=ApplicationDbContext;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
บรรทัดที่ 9 : กำหนดค่าให้กับ ApplicationDbContext ตรงนี้อย่าลืมเปลี่ยนชื่อ Database ให้สั้นลงด้วย
Data/ApplicationDbContext.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using WebApp.Data.Models;
namespace WebApp.Models
{
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext (DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<WebApp.Data.Models.Movie> Movie { get; set; }
}
}
บรรทัดที่ 17 : Movie
Perform initial migration
ใช้ Package Manager Console (PMC)
หรือ PowerShell
โดยทำ 2 ขั้นตอนคือ
- Add an initial migration.
- Update the database with the initial migration.
PMC
PM> Add-Migration Initial PM> Update-Database
PowerShell
> dotnet ef migrations add Initial > dotnet ef database update
รัน F5
แล้วเรียกไปที่ http://localhost:52016/Movies/Create

ลองใส่ข้อมูลลงไป แล้วกดปุ่ม Create

จะมาหน้าแสดงรายการ จะเห็นรายการที่พึ่งใส่เข้าไป

ลองกด Detail จะเห็นตามนี้

ถ้าจะลบ Database หรือสร้าง Database ขึ้นใหม่ ใช้คำสั่ง
> dotnet ef database drop > dotnet ef database update
Link
- docs.microsoft.com- Add a model to a Razor Pages app in ASP.NET Core