EFCF PostalCodes Entiteit maken
Home

EFCF PostalCodes Entiteit maken

EFCF PostalCodes Entiteit maken

Probleem

Creëer een nieuwe database met daarin een tabel met de naam PostalCodes in de database met de naam X (X is voor mij JefInghelbrecht, dat kan om het even welke naam van een database zijn) met behulp van EFCF.

Studiemateriaal

Entity Framework Code First

Oplossing

  1. Open of creëer project LerenWerkenMetEF
  2. Indien nodig ASP.NET MVC package updaten of installeren
  3. Indien nodig installeer EF package (EF installeren)
  4. Voeg connectie string toe in web.config (EF connectiestring configureren)
  5. Model PostalCodes toevoegen (info over Data Annotations API vind je in EF object relational mapping met attributen en in EF Business regels toevoegen met attributen)
    using System.ComponentModel.DataAnnotations;
    
    namespace LerenWerkenMetEFCF.Models
    {
        public class PostalCodes
        {
            [Key]
            [Required]
            public int Id { get; set; }
            [Required]
            [MinLength(4, ErrorMessage = "Postcode bestaat uit minimum 4 cijfers.")]
            [MaxLength(4, ErrorMessage = "Postcode bestaat uit maximum 4 cijfers.")]
            public string PostalCode { get; set; }
            [Required]
            [MaxLength(50, ErrorMessage = "Postcode bestaat uit maximum 50 cijfers.")]
            public string Location { get; set; }
        }
    }
  6. DbContext (info over de DbContext vind je in EF context)
    1. code bestand toegevoegd in de map Models met de naam MyModel.Context.cs
    2. een klasse maken met de naam JefInghelbrechtEntities. JefInghelbrecht verwijst naar de naam van de database.
    3. het argurment voor de constructor van de baseklasse is de naam van de configuratiestring in web.config
    4. een DbSet collectie toevoegen voor Zipcodes objecten
      using System.Data.Entity;
      
      namespace LerenWerkenMetEFCF.Models
      {
          public class MyEntities : DbContext
          {
              public MyEntities()
                  : base("name=JefInghelbrechtWindowsAuthentication")
              {
              }
              public virtual DbSet PostalCodes { get; set; }
          }
      }
  7. Controller (info over de controller vind je in ASP.NET MVC Controllers)
    1. Action methode in HomeController klasse in het bestand HomeController.cs in de map Controllers toevoegen om de database te creëren:
      using System;
      using System.Web.Mvc;
      namespace LerenWerkenMetEFCF.Controllers
      {
          public class HomeController : Controller
          {
              public ActionResult CreateDatabase()
              {
                  ViewBag.Message = "Oefenwebsite EFCF een database maken";
                  ViewBag.DatabaseMessage = "Database op het punt aan te maken";
                  try
                  {
                      LerenWerkenMetEFCF.Models.MyEntities JIE =
                          new Models.MyEntities();
                      JIE.Database.Create();
                      ViewBag.DatabaseMessage = "Database gemaakt!";
                  }
                  catch (Exception e)
                  {
                      ViewBag.DatabaseMessage = e.Message;
                  }
                  return View("Index");
              }
          }
      }
    2. Action method in de klasse hierboven toevoegen om de Index pagina van in de Views/Home map te tonen wanneer de gebruiker erom vraagt:
      public ActionResult Index()
      {
          ViewBag.Message = "Oefenwebsite EFCF";
          return View();
      }
  8. View (info over view vind je in ASP.NET MVC Views)
    1. Layout pagina toevoegen in een Views/Shared map
      lay-out pagina oefening EFCF PostalCodes Entiteit
      lay-out pagina oefening EFCF PostalCodes Entiteit
    2. View met de naam Index in de Views/Home map
    3. link op die pagina toevoegen om de database te maken
      Home Index  pagina oefening EFCF PostalCodes Entiteit
      Home Index pagina oefening EFCF PostalCodes Entiteit
JI
2016-11-23 13:18:13