สร้างโปรเจ็กส์แบบ 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