Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有必要为共享表的所有上下文创建迁移(如果启用了迁移)?_C#_Entity Framework_Ef Code First_Entity Framework 6 - Fatal编程技术网

C# 是否有必要为共享表的所有上下文创建迁移(如果启用了迁移)?

C# 是否有必要为共享表的所有上下文创建迁移(如果启用了迁移)?,c#,entity-framework,ef-code-first,entity-framework-6,C#,Entity Framework,Ef Code First,Entity Framework 6,请参阅下面的代码,这是我从在线教程中借用的: public class OrderReadContext: DbContext { public OrderReadContext() : base("name=GeekStuffSales") { } public DbSet<SalesOrder> Orders { get; set; } protected override void OnModelCreating(DbMo

请参阅下面的代码,这是我从在线教程中借用的:

public class OrderReadContext: DbContext
    {
      public OrderReadContext() : base("name=GeekStuffSales") {

      }
      public DbSet<SalesOrder> Orders { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder) {
      modelBuilder.HasDefaultSchema("Order");
   }
  }
  public class OrderSystemContextConfig : DbConfiguration
  {
    public OrderSystemContextConfig() {
      SetDatabaseInitializer(new NullDatabaseInitializer<OrderReadContext>());
    }

  }
这将仅为WriteContext创建迁移。ReadContext现在是否需要迁移

问题

我对迁移的理解如下。如果启用迁移,则覆盖默认值-如果要设置默认值或外键,则可以执行此操作。如果为一个上下文而不是另一个上下文创建迁移,会发生什么

public class OrderWriteContext : DbContext
  {
    public OrderWriteContext() : base("name=GeekStuffSales")
    {
    }

    public DbSet<SalesOrder> Orders { get; set; }
    public DbSet<LineItem> LineItems { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
      modelBuilder.HasDefaultSchema("Order");
      modelBuilder.Entity<SalesOrder>().Ignore(s => s.LineItems);
    }
  }

  public class OrderSystemContextConfig : DbConfiguration
  {
    public OrderSystemContextConfig()
    {
      SetDatabaseInitializer(new NullDatabaseInitializer<OrderWriteContext>());
    }
  }
  enable-migrations -ContextTypeName OrderWriteContext
        Add-Migration -configuration MyApp.Context.Configuration Initial