Closed drspam1991 closed 2 years ago
با اضافه کردن IDesignTimeDbContextFactory مشکل حل شد:
public class ParbadDataContextFactory : IDesignTimeDbContextFactory<ParbadDataContext>
{
public ParbadDataContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<ParbadDataContext>();
optionsBuilder.UseNpgsql("...", b => b.MigrationsAssembly("..."));
var efCoreOptions = new OptionsWrapper<EntityFrameworkCoreOptions>(new EntityFrameworkCoreOptions());
return new ParbadDataContext(optionsBuilder.Options, efCoreOptions);
}
}
درود موفق باشید
با سلام. من در .netCore دوتا sub project دارم به نام های Framework و Infrastructure. زیرپروژه Infrastructure به Framework وابسته هست. در کلاس StartUp که در Framework قرار داره، پرباد رو به این شکل Config کردم:
متغیر migrationAssembly نام زیرپروژه Infrustructre هست. در زیرپروژه Infrustructre هم Migration ها و DbContext های پروژه خودم قرار دارن. وقتی در مسیر Infrastructure دستور
dotnet ef migrations add AddParbad -c ParbadDataContext رو میزنم این خطا رو میگیرم:
No DbContext named 'ParbadDataContext' was found.
به هر دو زیر پروژه کتابخانه های زیر اضافه شدن: