Some things (interactive prompt, editor etc) doesn't work in phones - you are not to supposed to do programming in your phone anyway
Note that ALL exercises blow has link to correct solution as well as a Youtube video where solution is programmed and explained
Denna lektionen är en del i Web med C#
Database -code first
Föreläsning 1 på Youtube -teori
I föreläsningen ovan arbetade vi med Codefirst från en Console-applikation. Codefirst är en paradigm, och kan appliceras i alla typer av applikationer - och språk.
Nu kikar vi på Codefirst ur ett ASP.NET Core perspektiv. Vi behandlar bla
- migrations
- connectionsträng i config-fil
- one to many relations
- seeda startdata (stödtabeller etc)
Föreläsning 2 på Youtube -teori
Att tänka på vid övningsuppgifterna
Lesson exercises
Code first setup
I denna övning ska du skapa ett ASP.NET Razor Pages projekt.
- Skapa en Data-folder med en klass Bil. Den ska ha följande egenskaper
public int Id { get; set; }
public string Manufacturer { get; set; }
public string Model { get; set; }
public int Year { get; set; }
public decimal Price { get; set; }
Skapa en ApplicationDbContext med Bil som DbSet
Lägg till ApplicationDbContext i container...samt connectionstring i appsettings.json
Kom ihåg add-migration
Skapa en DataInitializer som gör dbContext.Database.Migrate och anropa den från
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var serviceProvider = scope.ServiceProvider;
var dbContext = serviceProvider.GetRequiredService<ApplicationDbContext>();
DataInitializer.SeedData(dbContext);
}
host.Run();
}
public class DataInitializer
{
public static void SeedData(ApplicationDbContext dbContext)
{
dbContext.Database.Migrate();
- Kör programmet och verifiera att databas och tabellen skapas.
Link to code solution
Link to video solution
My solution
The data below is only for your own reference. Enter a link to your github-repository for exampleCode first migrations
Fortsätt på den förra uppgiften.
Lägg till en bool HasRadio till Bil
add-migration
kör och verifiera att databasen uppdateras
skapa en till entitiet: Lastbil. Den kan ha Id, Manufacturer (string), LoadVolumeKvm (int)
add-migration och verifiera att databasen uppdateras vid körning
Link to code solution
Link to video solution
My solution
The data below is only for your own reference. Enter a link to your github-repository for exampleSeeding data
I din DataInitializer - lägg till SeedBil - och skapa upp 5 stycken bilar.
Se till att de bara skapas ifall de inte redan ligger i databasen.
Lägg också till SeedLastbil. Och skapa upp tre sådana vid uppstart
Verifiera att de läggs in i databasen vid uppstart
Verifiera att det inte blir dubletter när du startar igen
Link to code solution
Link to video solution
My solution
The data below is only for your own reference. Enter a link to your github-repository for exampleMigrering - avancerad
Nu vill man inte ha Manufacturer som en sträng i Bil-tabellen.
Din uppgift är att
skapa en ny entitet (Manufacturer). Den ska bara ha id och namn
Varje bil ska nu ha en property av den typen
Men tänk på att seedning osv måste fixas också, dina 5 bilar ska ha samma manufacturer som innan - dvs seeda de manufacturersr du har idag!
Du kommer behöva göra om logiken i seedngen - Om bil inte finns ELLER om manufacturer är null så ska man seeda kanske?
Link to code solution
Link to video solution
My solution
The data below is only for your own reference. Enter a link to your github-repository for exampleChatbox - support
My status/history on this lesson
# | Type | Text |
---|