Я новичок в EF4, и я пытаюсь найти лучший способ создать свой класс (ы) DbContext.Должен ли Eb DbContext содержать все таблицы?
Есть ли какие-либо проблемы (особенно производительность) при установке всех моих таблиц/сущностей в один и только один класс DbContext, например, код ниже?
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...
}
Или мне следует моделировать классы на основе подмножеств функциональных возможностей?
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!
}
Благодаря
Ограниченные контексты могут определенно быть хорошей идеей! Снижение производительности может быть проигнорировано ... Создание модели занимает больше времени, но это происходит только при запуске. Есть много трюков, чтобы держать их как можно быстрее. Дополнительная информация в некоторых видео: http://pluralsight.com/training/Courses/TableOfContents/efarchitecture – Jowen