Aracılığıyla paylaş


Ayrı Geçişler Projesi Kullanma

Geçişlerinizi, öğesini içeren projeden farklı bir projede depolamak isteyebilirsiniz DbContext. Bu stratejiyi, biri geliştirme ve diğeri yayından sürüme yükseltmeler gibi birden çok geçiş kümesini korumak için de kullanabilirsiniz.

Bahşiş

Bu makalenin örneğini GitHub'da görüntüleyebilirsiniz.

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üsü dosyalarını sınıf kitaplığına taşıyın.

    Bahşiş

    Mevcut geçişleriniz yoksa, DbContext'i içeren projede bir geçiş oluşturun ve taşıyın. Geçiş projesi mevcut bir geçiş içermiyorsa Add-Migration komutu DbContext'i bulamadığı için bu önemlidir.

  4. Geçişler derlemesini yapılandırın:

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

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

    Bu döngüsel bir bağımlılık oluşturursa, bunun yerine geçiş projesinin temel çıkış yolunu güncelleştirebilirsiniz:

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

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

dotnet ef migrations add NewMigration --project WebApplication1.Migrations