任何人都可以提供任何建议是否最好的做法有一个单一的上下文或多个上下文?EF 4.1代码优先 - 单个上下文还是多个上下文?
例如,我应该有一个单一的背景如下:
public class MyContext
: DbContext
{
public DbSet<Company> Companies { get; set; }
public DbSet<Country> Countries { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new CountryConfiguration());
modelBuilder.Configurations.Add(new CompanyConfiguration());
base.OnModelCreating(modelBuilder);
}
}
或者,我会更好,创造企业和国家独立的语境?所以ConpanyContext和CountryContext会暴露一个DbSet属性。
这可能只是个人选择,但我们的数据库将包含100个实体。因此,我想首先得到这个权利。
非常感谢,
保罗。
我想这样做,如果表现良好。我有点担心,当它需要处理OnModelCreating中的100多个配置类时,会如何创建上下文的实例。通过在WCF服务中使用它,这将成为更多的问题,因此它将在每个服务调用中创建一个新实例。 – P2l 2011-04-08 09:12:03
@Paul:OnModelCreating被称为** ONCE **,不是每次创建实例。 – 2011-04-08 11:07:07
刚刚经过测试,你是对的。那么就是一个背景。 – P2l 2011-04-08 12:07:00