如何在EF中添加多个上下文?

时间:2013-07-14 13:05:06

标签: entity-framework asp.net-mvc-4

我有一个UserContext

    public class UserContext:DbContext
    {
        public UserContext()
            : base("DefaultConnection")
        {
            var adapter = (IObjectContextAdapter)this;
            var objectContext = adapter.ObjectContext;
            objectContext.CommandTimeout = 2 * 60; 
        }

        public DbSet<User> Users { get; set; }
        public DbSet<ExternalUserInformation> ExternalUsers { get; set; }
        public DbSet<Article> Articles { get; set; }
     }

我希望有第二个上下文PaymentContext,我会将DbSet放在付款方面。

    public class PaymentContext:DbContext
    {
        public PaymentContext()
            : base("DefaultConnection")
        {
            var adapter = (IObjectContextAdapter)this;
            var objectContext = adapter.ObjectContext;
            objectContext.CommandTimeout = 2 * 60; 
        }

        public DbSet<PaymentLog> PaymentLogs { get; set; }

     }

我的问题是:怎么做?为什么如果我有这两个上下文,命令update-database不能正常工作? (只有一个上下文正在更新数据库 - 这是第一个。第二个不是。)

1 个答案:

答案 0 :(得分:0)

我认为this正是您所寻找的。

如果要拥有多个dbcontext,则应为每个dbcontext创建配置类。