有没有人能就拥有单一上下文或多上下文的最佳实践提供任何建议?
例如,我是否应该有一个上下文,如下所示:
   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个实体组成。因此,我想从一开始就把这件事做好。
非常感谢,
保罗。
发布于 2011-04-08 09:26:57
一个简单的经验法则:一个模式/域,一个上下文。
发布于 2011-04-07 22:59:47
如果可能的话,试着把它们拆分成有意义的线。
一个上下文中的100个实体可能看起来很糟糕,但考虑一下您的替代方案,100个不同的上下文?
然后你就得做一些像这样的事情
using(CompanyContext cc = new CompanyContext)
{
}
using (CountryContext cc = new CountryContext)
{
}如果你需要查询多个表,你会有嵌套的上下文,结果会很糟糕。你会开始有像这样的事情
using(CompanyContext comp = new CompanyContext)
    {
        using (CountryContext country = new CountryContext)
       {
       }
    }我无法想象这样会提高性能,但我确信维护会是一件痛苦的事情。
https://stackoverflow.com/questions/5583066
复制相似问题