ASP.NET MVC Web Development

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

OOS Object geOrienteerd Software-ontwerp - 3
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Van domeinklasse tot implementatie
Het ontwerpen van een klasse
TERUGKEER VAN DE PRESENTATIE
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
Bedrijfsbibliotheek Jeffrey Paarhuis Jos Vinke Pieter-Henk Smits
Welkom bij de presentatie van CodeMunity. Voorstellen Khai Pham Corné Strijkert Sebastiaan Wezenberg.
Wolter Kaper - Ruby on Rails Webtoepassing ontwerpen Webprogrammeren, week 1.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Visual Basic 2010 – What’s new André Obelink
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
MVC in de praktijk Jeroen Swart.NET architect, Quintor
NHibernate in DeltaShell
PLANNING EN DESIGN MET VSTS2010 Lunchsessie ALM René van Osnabrugge
Encapsulatie: Every man is an island upon himself.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
SQL Performance Analyzer Inschatten performance impact van wijzigingen Bram van der Vos
GUI & classes Een Gui in een class steken en het object gebruiken.
Windows applicatieontwikkeling
– Software development fundamentals
Software Development fundamentals
Objectgeoriënteerd Programmeren (2)
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Properties
Voortborduren op eerder gedaan werk
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Interfaces
Arjan Egges Paul Bergervoet Wouter van Toll
Gameprogrammeren: Tiles en File I/O in Tick Tick
Gameprogrammeren: Klassen en objecten
ASP.NET MVC Web Development
ASP.NET MVC Web Development
CSS: cascading stylesheets
Arjan Egges & Paul Bergervoet
Software Development fundamentals
Software Development fundamentals
ASP.NET MVC Web Development
ASP.NET MVC Web Development
SQL Les 7 24 February 2019.
ASP.NET MVC Views.
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Software Development fundamentals
SQL Les 9 12 May 2019.
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Windows applicatieontwikkeling
Software Development fundamentals
Software Development fundamentals
Powershell & HTML.
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
CSS: cascading stylesheets
<Geef de titel van het probleem op>
Transcript van de presentatie:

ASP.NET MVC Web Development Models | www.starwave.nl/mq

Vandaag Review van onze model classes Deze week ronden we models af Volgende week ontwerpen we de controllers.

Waar zijn we mee bezig? Met Entity framework code-first Je kunt ook op andere manieren werken: Entity framework database first Entity framework model first

Werkwijzen Model-first Eerst een model maken (diagram), dan de database en code genereren. Code-first Eerst code schrijven, dan een database genereren Database-first Eerst een database maken, dan code genereren

Een model in code public class Album { public virtual int AlbumId { get; set; } public virtual string Title { get; set; } public virtual decimal Price { get; set; } public virtual string AlbumArtUrl { get; set; } public virtual int GenreId { get; set; } public virtual Genre Genre { get; set; } public virtual int ArtistId { get; set; } public virtual Artist Artist { get; set; } }

Een model public class Genre { public virtual int GenreId { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual List<Album> Albums { get; set; } }

Check Zijn jouw model classes optimaal ontworpen? Check: Heb je de juiste properties Heb je Lists<> waar nodig Heb je de display names goed ingesteld Heb je validatie goed ingesteld ([required] etc.) Wie biedt zijn ontwerp aan voor een review?

De DbContext Regelt je toegang tot, en het genereren van, de database. public class MusicStoreDB : DbContext { public DbSet<Album> Albums { get; set; } public DbSet<Artist> Artists { get; set; } public DbSet<Genre> Genres { get; set; } } Een database met 3 tabellen

Database wijzigen 3 commando’s onthouden: In de console: Enable-Migrations Add-Migration [migratienaam] Update-Database // toont SQL code en voert migratie niet uit Update-Database –script // toont SQL code en voert migratie wel uit Update-Database –verbose

DbInitializer In het boek: Met een DbInitializer class en het overriden van de Seed method kan je je gegenereerde DB vullen met testdata: Maar, dat hoeft niet meer. Check dit: Na het uitvoeren van Enable-migrations vind je in Migrations/Configuration.cs een Seed method die je kunt gebruiken om testdata in je database te plaatsen. Elke keer als je een database genereert zal de testdata in je database worden gezet.

Demo Laten we dit alles uitproberen in een empty MVC project.

En nu? Check je models (zie slide 7) Bestudeer H4 van het boek Probeer een database te genereren Volgende week: Controllers