Soy nuevo en EF4, y estoy tratando de encontrar la mejor manera de crear mi (s) clase (s) DbContext.¿Debería el DbContext de EF contener todas las tablas?
¿Hay algún problema (especialmente el rendimiento) en poner todas mis tablas/entidades en una y solo una clase DbContext, como el código siguiente?
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...
}
¿O debería modelar mis clases en función de los subconjuntos de funcionalidades?
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!
}
Gracias
Bounded Contexts definitivamente puede ser una buena idea! Sin embargo, se puede ignorar el rendimiento alcanzado ... La creación del modelo lleva más tiempo, pero eso solo ocurre al inicio. Hay muchos trucos para mantenerlo lo más rápido posible. Más información en algunos videos: http://pluralsight.com/training/Courses/TableOfContents/efarchitecture – Jowen