gpt4 book ai didi

sql-server - 如何通过参数使用 Entity Framework 在sqlserver和postgresql之间切换

转载 作者:行者123 更新时间:2023-11-29 13:41:48 26 4
gpt4 key购买 nike

我正在开发一个小项目,要求必须允许用户在 sqlserver 和 postgresql 或更多之间切换数据库。

我想,我需要一个参数来在 json 配置文件中切换数据库:

"数据库类型": "MSSQL"

我的问题是如何使用 Entity Framework 核心实现它?

我可以用 DbContext 做什么并切换它们?

对不起,如果我的英语不好。

最佳答案

为了使用相同的 DbContext 切换数据库,您需要确保您的数据库映射 DbContext Structor。

为了实现这一点,你可以尝试像这样定义参数

{
"DatabaseType": "MsSQL1",

"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-TestIdentity2_2-C9C6DF1A-1A9A-497A-871E-618806FC959F;Trusted_Connection=True;MultipleActiveResultSets=true",
"MySqlConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-MySql-2C4FD13B-62DA-4B5D-8C8C-8F9C42CD3A67;Trusted_Connection=True;MultipleActiveResultSets=true"

},
}

Startup.cs中配置

services.AddDbContext<ApplicationDbContext>(options =>
{
var dbType = Configuration["DatabaseType"];
if (dbType == "MsSQL")
{
//change this to your postgresql config
options.UseSqlServer(
Configuration.GetConnectionString("MySqlConnection"));
}
else
{
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection"));
}
});

关于sql-server - 如何通过参数使用 Entity Framework 在sqlserver和postgresql之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54341916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com