testa
 
 
 
Internet Entity Framework - DbContext
cornice di chiusura
 
La classe principale che coordina le funzionalità di Entity Framework per un model data è la classe DataBase Context.
Questa classe deve essere creata ereditando dalla classe System.Data.Entity.DbContext
Nel codice viene specificato quali entità vengono incluse nel model data, si possono anche personalizzare alcuni comportamenti di Entity Framework.

  • Creare una cartella nel progetto;
  • Chiamare la cartella DAL (Data Access Layer)
  • All'interno della cartella DAL, creare una nuova classe chiamata myContext.cs
  • Aggiungere le direttive using:

    System.Data.Entity;
    System.Data.Entity.ModelConfiguration.Conventions;

  • Ereditare la classe dalla principale DbContext:

    public class myContext : DbContext

  • Aggiungere un costruttore che indichi alla classe base la ConnectionString da utilizzare:

    public myContext() : base("myConnectionString") {}

  • Aggiungere i DbSet specifici alle classi che si vogliono gestire e le tabelle che si vogliono creare:

    public DbSet nomeClasse1s { get; set; }
    public DbSet nomeClasse2s { get; set; }
    ...

  • Estendere il metodo OnModelCreating:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    modelBuilder.Conventions.Remove();
    }



Entity Set:
In questo modovengono create le proprietà DbSet per ciascuna Entity Set. Nella terminologia di Entity Framework, un "Entity Set" corrisponde tipicamente ad una tabella del DataBase, mentre un' "Entity" corrisponde ad una riga della tabella.

Entity Framework è in grado di creare anche le tabelle che, non espressamente indicate come DbSet, ma che sono referenziate da altre tabelle.


Specificare la ConnectionString:
Il nome della ConnectionString che viene definita nel Web.Config viene passata al costruttore.
Se non viene espressamente definita una ConnectionString, Entity Framework assume che il nome della ConnectionString è lo stesso del nome della classe.


Specificare i singoli nomi delle tabelle
Lo statement modelBuilder.Conventions.Remove nel metodo OnModelCreating previene che i nomi delle tabelle possano essere al plurale. Se non si pone questo statement, i nomi delle tabelle saranno tutti al plurale. Gli sviluppatori sono in disaccordo se i nomi delle tabelle debbano essere al singolare o al plurale, ma è disposizione dello sviluppatore decidere questo.
 
 
 
 
I23 di Boccaletti Emanuele
 
I23 di Boccaletti Emanuele
41121 Modena (MO)
Tel. +39 347 1302420
emanuele@i23.eu
Skype: emanuele.boccaletti
 
 
Copyright © I23 di Boccaletti Emanuele - emanuele@i23.eu