我创建了一个项目,在该项目中我想连接到SQLite提供程序以进行测试,并在生产环境中使用PostgreSQL。
protected override void OnConfiguring(DbContextOptionsBuilder opt)
{
#if DEBUG
opt.UseSqlite("Data Source=blogging.db");
#endif
#if !DEBUG
opt.UseNpgsql("Host=localhost;Database=xxxx;Username=xxxxx;Password=xxxxx");
#endif
}
我想使用代码优先策略。对于SQLite-没问题:
dotnet ef migrations add InitialCreate
dotnet ef database update
总而言之,PostgeSQL(OpenSource)是否有类似的解决方案?
答案 0 :(得分:0)
正如您所说的,我正在使用postgreSQL。
我使用这2个金块包:
我将其添加到您的Startup.cs-> ConfigureServices:
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
这是appsettings.json
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Port=5432;Database=postgresTest;User Id=postgres;Password=xyz;"
}
然后我仅添加一个迁移并更新数据库:
然后一切正常。希望对您有所帮助:)