Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DbContext içeren projeden farklı bir projede geçişlerinizi depolamak isteyebilirsiniz. Projeniz WinUI, Xamarin, MAUI, Blazor veya Azure İşlevleri gibi platforma özgü bir proje türü kullanıyorsa veya belirli bir çalışma zamanı tanımlayıcısını (RID) hedefliyorsa bu önerilir. 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.
Tip
Bu makalenin sample dosyasını GitHub üzerinde görüntüleyebilirsiniz.
Steps
Yeni bir sınıf kitaplığı oluşturun.
DbContext projenize bir referans ekleyin.
Geçişleri ve modelin anlık görüntü dosyalarını sınıf kitaplığına taşıyın.
Tip
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.
Geçişler derlemesini yapılandırın:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));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
Tip
Uygulamanız bağımlılık enjeksiyonu kullanıyorsa, geçişler projenizde IDesignTimeDbContextFactory<TContext>'yi uygulamayı düşünün. Bu, EF araçlarının başlangıç projenizi çalıştırmaya gerek kalmadan DbContext öğenizi oluşturmasına olanak tanır. Daha fazla bilgi için bkz. Tasarım zamanı fabrikasından.