EF4를 처음 접했고 DbContext 클래스를 만드는 가장 좋은 방법을 찾으려고합니다.EF의 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