Ayrı Geçişler Geçişi Project

Geçişlerinizi içeren projeden farklı bir projede depolamak istiyor DbContext olabilir. Bu stratejiyi, biri geliştirme, diğeri de sürüm yükseltmeleri için olmak üzere birden çok geçiş kümesi korumak için de kullanabilirsiniz.

İpucu

Bu makalenin örneğini GitHub.

Adımlar

  1. Yeni bir sınıf kitaplığı oluşturun.

  2. DbContext projenize bir başvuru ekleyin.

  3. Geçişleri ve model anlık görüntü dosyalarını sınıf kitaplığına taşıma.

    İpucu

    Mevcut geçişler yoksa, projede DbContext içeren bir tane oluşturabilir ve ardından taşımanız gerekir. Geçişler projesi mevcut bir geçiş içeriyorsa, Add-Migration komutu DbContext'i bulamaz.

  4. Geçişler derlemeyi yapılandırma:

    services.AddDbContext<ApplicationDbContext>(
        options =>
            options.UseSqlServer(
                Configuration.GetConnectionString("DefaultConnection"),
                x => x.MigrationsAssembly("WebApplication1.Migrations")));
    
  5. Başlangıç projesinden geçişler projenize bir başvuru ekleyin.

    <ItemGroup>
      <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj">
    </ItemGroup>
    

    Bu döngüsel bir bağımlılıka neden oluyorsa, bunun yerine geçiş projesinin temel çıkış yolunu güncelleştirin:

    <PropertyGroup>
      <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath>
    </PropertyGroup>
    

Her şeyi doğru yaptıysanız projeye yeni geçişler ekleyesiniz.

dotnet ef migrations add NewMigration --project WebApplication1.Migrations