Sono nuovo di EF4 e sto cercando di capire il modo migliore per creare le mie classi DbContext.DbContext di EF contiene tutte le tabelle?
C'è qualche problema (specialmente prestazioni) nel mettere tutte le mie tabelle/entità in una sola classe di DbContext, come il codice qui sotto?
public class AllInOneDb : DbContext
{
public DbSet<Customer> Customers{ get; set; }
public DbSet<Address> Addresses{ get; set; }
public DbSet<Order> Order{ get; set; }
public DbSet<Product> Products{ get; set; }
public DbSet<Category> Categories{ get; set; }
// and more and more entities...
}
Oppure dovrei modellare le mie classi in base ai sottoinsiemi di funzionalità?
public class CustomerDb : DbContext
{
public DbSet<Customer> Customers{ get; set; }
public DbSet<Address> Addresses{ get; set; }
public DbSet<Order> Order{ get; set; }
}
public class ProductDb : DbContext
{
public DbSet<Product> Products{ get; set; }
public DbSet<Category> Categories{ get; set; }
public DbSet<Order> Order{ get; set; } // look Order entity again!
}
Grazie
Contesti limitati possono sicuramente essere una buona idea! Tuttavia, il successo in termini di prestazioni può essere ignorato ... La creazione del modello richiede più tempo, ma ciò avviene solo all'avvio. Ci sono molti trucchi per mantenerlo il più velocemente possibile. Maggiori informazioni in alcuni video: http://pluralsight.com/training/Courses/TableOfContents/efarchitecture – Jowen