Hur scaffoldar du i C#.NET?
Tjo! Jag sitter här smått "panikslagen" men jag kommer att klara mig igenom det (har till och med 17:e mars 2024 på mig). Vad som lamslår mig för tillfället är användningen av "scaffolding" inom C#.NET när ASP.NET MVC Core-projekt ska skapas. Jag har inga problem med att skapa projektet från första början inuti Visual Studio 2022 (välja ASP.NET Core MVC-typ .NET8.0 med "Individual Accounts"-autentisering).
Men sedan så kommer förvirringen: jag ser mappen Areas -> Identity -> Pages -> Account men inga filer inuti här. Det är i denna mapp där det ska finnas Razor-undersidor för att kunna Registrera & Logga in, men filerna finns inte. Men när jag kör kommandot "dotnet run" så verkar den ändå kunna få fram dessa undersidor i webbläsaren såväl som dess funktionalitet att registrera och logga in.
Jag förstår inte varför dessa grundläggande filer inte finns synliga i "Solution Explorer" inuti Visual Studio 2022? (även i Models-mappen saknas en fil som skulle utgöra startklassen för en "IdentityUser") Sedan inser jag också att jag vill ha fler tabellkolumner för ett användarkonto och inte enbart e-post och lösenord vilket verkar vara standardutförandet. Jag läser då här: https://learn.microsoft.com/en-us/aspnet/core/security/authen... där jag ska verka scaffolda fram och "override" huvudsakliga filer som då kommer att placeras i Areas -> Identity -> Pages -> Account-mappen?
Vad jag vill göra vilket jag verkar vägledas igenom är att lägga till ett par till tabellkolumner för tabellen som utgör användarkonton i mitt MVC-projekt. Exempelvis ska jag ha en kolumn för "username" och en för "phone". Ett [Attribut] som verkar saknas i C#.NET är det som motsvarar "UNIQUE" i SQL-världen. Ta exempelvis [Required]-attributet vilket motsvarar "NOT NULL" i SQL-världen, men jag hittar inget för "UNIQUE" dock.
Då kommer jag äntligen till rubriken: Det här känns som en riktig omständlig väg att gå, så hur använder Du scaffolding i ditt yrkesliv där C#.NET är ditt huvudsakliga programmeringsspråk? Är det ens så här man ska göra med scaffoldingen eller är det bara massa onödigt "extrajobb" som Microsoft slängt in trots att syftet kanske var att underlätta?😵
Pricken över i:et blir sedan att jag har mer eller mindre noll insikt i hur alla klasser och dess klassmedlemmar i detta drygt 20+ år gamla .NET-bibliotek förhåller sig till varandra. Så när något scaffoldas och man vill ändra något så kan det lätt hänt bli att kompilatorn slår en på fingrarna för att man brutit någon dependency av något slag.
Mvh,
WKL.
<WKL:"En kodrad i taget!";/>